{"version":3,"sources":["serviceWorker.ts","gen/ApiClients.ts","infrastructure/TokenStore.tsx","components/common/toast/ToastNotification.tsx","infrastructure/Utils.tsx","constants.tsx","context/RouterContext.tsx","infrastructure/LanguageStore.tsx","hooks/useClient.tsx","keys.tsx","routes.tsx","localization/Strings.tsx","localization/Nl.tsx","localization/Fr.tsx","localization/En.tsx","context/LocalizationContext.tsx","hooks/useLocalizationContext.tsx","context/AuthContext.tsx","hooks/useCombineClassNames.tsx","components/common/buttons/PrimaryButton.tsx","components/common/buttons/TextLinkButton.tsx","components/common/forms/FormDialog.tsx","components/common/forms/FormsUtils.tsx","components/common/buttons/IconButton.tsx","components/common/buttons/ToggleIconButton.tsx","components/common/forms/FieldGroup.tsx","components/common/forms/PasswordField.tsx","components/common/logo.svg","components/common/forms/TextInputField.tsx","components/common/Logo.tsx","components/common/search/Searchbox.tsx","hooks/useKeyDown.tsx","hooks/useEnterKeyDown.tsx","components/common/dropdown/DropDownTrigger.tsx","components/common/dropdown/CustomDropdown.tsx","components/settings/LanguageDropdown.tsx","components/login/Login.tsx","infrastructure/ProtectedRoute.tsx","build.tsx","components/AppUpdateWall.tsx","context/ModalContext.tsx","components/common/modal/BaseConfirmation.tsx","components/common/modal/BaseInformation.tsx","components/notifications/NotificationDetail.tsx","hooks/useTrigger.tsx","context/NotificationsContext.tsx","hooks/useInterval.tsx","context/WrapperSearchTextContext.tsx","components/WrapperSearchbox.tsx","components/NotificationsDropdown.tsx","context/WrapperFullScreenLoadContext.tsx","components/common/buttons/InformationIconButton.tsx","components/common/johnDoeAvatar/JohnDoeAvatar.tsx","components/common/table/BaseTableSort.tsx","hooks/useTableSortAndPage.tsx","components/common/table/TableUtils.tsx","components/revenues/RevenuesSummary.tsx","components/revenues/RevenuePerDriver.tsx","components/dashboard/UnreadNotifications.tsx","components/dashboard/InfoTodoCard.tsx","components/dashboard/Dashboard.tsx","context/RevenuesQueryParamsContext.tsx","components/common/filter/FilterItem.tsx","components/common/filter/MonthSelector.tsx","components/revenues/export/ExportDocument.tsx","components/common/filter/FilterBar.tsx","components/common/filter/CustomListItem.tsx","components/common/filter/ListFilterItem.tsx","hooks/useEffectAfterMount.tsx","components/common/filter/EnumListFilterItem.tsx","context/FilterDataContext.tsx","components/revenues/FilterRevenues.tsx","components/revenues/Revenues.tsx","components/leaveOfAbsences/FilterLeaveOfAbsences.tsx","context/LeaveOfAbsencesQueryParamsContext.tsx","components/leaveOfAbsences/LeaveOfAbsencesTable.tsx","components/common/ToggleCheckbox.tsx","components/common/forms/SelectField.tsx","components/common/fields/DefaultDateInput.tsx","components/common/forms/SelectDate.tsx","components/common/fields/DefaultTimeInput.tsx","components/common/forms/SelectTime.tsx","components/leaveOfAbsences/LeaveOfAbsenceForm.tsx","components/leaveOfAbsences/LeaveOfAbsenceDetail.tsx","components/leaveOfAbsences/LeaveOfAbsences.tsx","components/common/filter/DateFilterItem.tsx","context/NotificationsQueryParamsContext.tsx","components/common/filter/BooleanFilterItem.tsx","components/notifications/FilterNotifications.tsx","components/common/table/PagingFooter.tsx","components/common/table/BaseTableSortAndPage.tsx","components/notifications/Notifications.tsx","components/common/forms/TextareaField.tsx","components/revenues/DisputeRevenueForm.tsx","components/revenues/StopViewComponent.tsx","components/revenues/StopsViewComponent.tsx","components/revenues/Revenue.tsx","components/common/loaders/CenterEveryting.tsx","components/common/loaders/Loader.tsx","components/common/loaders/FullScreenLoader.tsx","context/FormsQueryParamsContext.tsx","components/forms/FilterForms.tsx","components/forms/orderClothing/MainForm.tsx","components/forms/orderClothing/utils.tsx","components/common/forms/NumberInputField.tsx","components/forms/orderClothing/ExtraForm.tsx","components/forms/orderClothing/PackageForm.tsx","components/forms/orderClothing/OrderClothingForm.tsx","components/forms/FormDetail.tsx","components/forms/Forms.tsx","components/mobileFooter/icons/dashboard.svg","components/MobileNotifications.tsx","components/mobileFooter/icons/dashboard-sel.svg","components/mobileFooter/icons/revenues.svg","components/mobileFooter/icons/revenues-sel.svg","components/mobileFooter/icons/forms.svg","components/mobileFooter/icons/forms-sel.svg","components/mobileFooter/icons/loa.svg","components/mobileFooter/icons/loa-sel.svg","components/mobileFooter/MobileFooter.tsx","context/SettlementProposalsQueryParamsContext.tsx","components/settlementProposals/FilterSettlementProposals.tsx","components/settlementProposals/SpsActions.tsx","components/settlementProposals/SettlementProposals.tsx","components/settings/Settings.tsx","context/SettlementProposalsQueryParamsProvider.tsx","context/RevenuesQueryParamsProvider.tsx","context/LeaveOfAbsencesQueryParamsProvider.tsx","components/Wrapper.tsx","components/login/ForgotPassword.tsx","App.tsx","index.tsx","components/common/johnDoeAvatar/avatar.png","components/revenues/export/logo.jpg","components/common/loaders/loader.gif"],"names":["Boolean","window","location","hostname","match","TransportStatus","BuildClient","baseUrl","instance","jsonParseReviver","undefined","this","axios","create","cancelToken","url_","options_","method","url","replace","headers","request","catch","_error","isAxiosError","response","then","_response","processCurrent","status","_headers","k","hasOwnProperty","result200","_responseText","data","Promise","resolve","throwException","processUrl","FormsClient","body","JSON","stringify","processQuery","resultData200","FormSummaryQueryResult","fromJS","id","Error","encodeURIComponent","processSingle","OrderDetail","processAddOrder","HttpResponse","processAllProducts","Array","isArray","item","push","ExtraProduct","LeaveOfAbsencesClient","LeaveOfAbsencesQueryResult","processInsert","processDelete","processCanDelete","ValidateResponse","processCanInsert","NotificationsClient","processUnread","Notification","NotificationQueryResult","processMarkAsRead","RevenuesClient","RevenuesQueryResult","processTransportsThisMonth","shipmentId","processDetail","RevenueDetail","fileNumber","processDispute","responseType","processDownloadServicePartnerConfirmation","contentDisposition","fileNameMatch","exec","fileName","length","Blob","type","ServicePartnersClient","processAllFilterableDrivers","StringNamedEntity","SettlementProposalsClient","SettlementProposalQueryResult","documentId","processDownloadDocument","UserClient","processLogin","LoginResponse","processLogout","processInfo","UserInfo","Address","formatted","additionalInfo","company","phoneNumber","contact","comment","property","_data","result","init","DisputeModel","message","Extra","description","size","quantity","pricePerPiece","linePrice","price","hasSizeAsNumber","FormSummary","createdDate","driverName","driverId","totalPrice","Date","toString","toISOString","values","totals","pageIndex","pageSize","totalPages","currentFrom","currentTo","hasPreviousPage","hasNextPage","toJSON","FormsQueryParams","sortProperty","sortDirection","searchString","afterDate","beforeDate","driverIds","isSuccess","error","hasError","LeaveOfAbsenceModel","fromDate","toDate","isWholeDay","LeaveOfAbsenceSummary","date","fromTime","toTime","hours","LeaveOfAbsencesByDriver","LeaveOfAbsencesQueryParams","LoginModel","userName","password","token","title","isRead","isHighPriority","NotificationsQueryParams","mobilePhoneDriver","extras","starterPacks","lastModifiedDate","servicePartnerId","servicePartnerName","Package","OrderModel","sizeTShirt","sizePolo","sizeSweatShirt","pricePerPackage","Revenue","assignment","formattedAddress","amountInVat","amountExVat","department","vatAmount","subDepartment","amount","amountInclVat","reference","numberOfStops","hasExtraStops","totalDistance","isTrackAndTraceAvailable","firstStop","extraStops","lastStop","revenues","Stop","RevenueWithDescription","RevenuePerAssignment","RevenuePerDay","RevenuesByDriver","totalAmountExVat","totalAmountInVat","totalVatAmount","previousMonthTotalAmountExVat","percentageChangeTotalAmountExVat","RevenuesQueryParams","statuses","SettlementProposal","postingDate","SettlementProposalQueryParams","address","dateSpecifier","order","isFirst","isLast","loadOperations","unloadOperations","extraStopOrder","hasLoadOperations","hasUnloadOperations","value","name","companyName","errorMessage","SwaggerException","isSwaggerException","obj","TokenStore","localStorage","getItem","STORAGE_KEY","setItem","removeItem","showSuccessToast","showToast","showErrorToast","toast","ToastNotification","className","nameof","key","isSorted","toLowerCase","startsWith","translateSortDirection","toDefaultFormat","moment","format","empty","stringIsNumber","isNaN","Number","enumToOptions","enumType","translations","output","Object","keys","filter","forEach","t","text","get","clearNullOrUndefinedValues","n","entries","x","nonGenericClearNullOrUndefinedValues","toOptions","input","map","clearCacheAndReloadApplication","caches","names","console","log","delete","reload","tryCatchWithLoading","fnc","setIsLoading","reject","tryCatch","RouterContext","React","createContext","history","activeRoute","navigate","goBack","BrowserRouterProvider","children","useState","setActiveRoute","BrowserRouter","Route","routeProps","pathname","listen","action","Provider","str","LanguageStore","language","useDownloadClient","router","download","doOnEnd","inst","interceptors","use","tokenInterceptor","languageInterceptor","unauthorizedRedirectInterceptor","URL","createObjectURL","link","document","createElement","href","setAttribute","appendChild","click","useClient","useContext","config","getToken","Authorization","Language","Strings","LocalizedStrings","nl","add","addExtra","addLeaveOfAbsence","addStartersPack","after","all","at","backToLogin","backToOverview","before","cancel","canceled","coc","confirmedByDriver","contactUs","dashboard","deadFreight","deleteAll","deleteFilter","deleteLeaveOfAbsence","departed","dispute","disputeData","disputeFormSubmitted","disputes","downloadTrackAndTrace","doYouWantToDeleteThisLeaveOfAbsence","driver","driverMobilePhone","drivers","endDate","endTime","export","extraStop","exVat","fillIn","fillInQuantity","filterOn","forgotPassword","forgotPasswordContent","form","forms","formSubmitted","hello","inProgress","internalReference","invalidCombinationUsernamePassword","inVat","labelDisputeMessage","lastMonth","lastWeek","lastYear","leaveOfAbsence","leaveOfAbsenceAdded","leaveOfAbsenceDeleted","leaveOfAbsenceFormTitle","load","loadAndUnloadAddressPlusStops","loaded","loadFile","login","loginWelcomeSubtitle","loginWelcomeTitle","logOut","markAsRead","moreInfo","next","no","noAccount","none","noNewNotifications","noRevenues","notification","notificationMarkedAsRead","notificationMarkedAsUnread","notifications","optional","orderClothing","outsourced","pagingTable","previous","processedDrivers","quantityMustBeAnInteger","quantityMustBeMinimalOne","read","requestClothing","route","search","searchOnTitleOrDescription","select","send","sendToApp","serverError","settings","settlementProposals","startDate","startersPackage","startersPackages","startTime","startToEndDate","successfullyLoggedOut","tc","thisMonth","thisWeek","thisYear","today","total","totalRevenues","toTimeMustBeLargerThanFromTime","unload","unloaded","unread","upForToday","validateDate","validateDisputeMessage","validateFromDate","validateFromTime","validatePassword","validateSelectDriver","validateToDate","validateToTime","validateUsername","vat","vehicle","viewAll","viewPrintVersion","viewWebVersion","wholeDay","yes","yesDelete","yesterday","yourRevenuesThisMonth","fr","en","fallback","strings","setLanguage","getLanguage","formatString","LocalizationContext","LocalizationProvider","getAndParseToDefault","useEffect","lang","set","useLocalizationContext","context","inititalState","hasToken","user","logout","AuthContext","AuthProvider","props","setUser","client","routerContext","locContext","loadUser","setToken","info","removeToken","useCombineClassNames","PrimaryButton","outline","small","noStretch","rectanglePadding","showLoader","rest","disabled","active","inline","TextLinkButton","underline","gray","extraSmall","FormDialog","setFieldTouched","setFieldError","IconButton","icon","color","popupText","renderInner","Responsive","minWidth","onlyTablet","Popup","trigger","content","basic","onlyMobile","ToggleIconButton","trueIcon","falseIcon","checked","toggle","onClick","FieldGroup","xName","label","noMargin","xNames","htmlFor","component","PasswordField","isShowPassword","setIsShowPassword","e","preventDefault","_style","_g","_g2","_g3","_g4","TextInputField","placeholder","_extends","assign","bind","target","i","arguments","source","prototype","call","apply","_objectWithoutProperties","excluded","sourceKeys","indexOf","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","propertyIsEnumerable","_ref","svgRef","y","viewBox","style","enableBackground","xmlSpace","width","height","ref","points","d","ForwardRef","forwardRef","Logo","Searchbox","onTextChanged","onSearch","externalProps","large","setText","handleKeyDown","onKeyDown","useKeyDown","handleChangeWithStr","isFiltered","onChange","DropDownTrigger","isOpen","clickTrigger","onClear","selected","clearable","formatSelected","CustomDropDown","options","onSelect","formatTrigger","searchable","stretch","setIsOpen","filteredOptions","setFilteredOptions","triggerText","setTriggerText","_","orderBy","find","handleSearchTextChanged","includes","Dropdown","onClose","onOpen","open","onBlur","scrolling","Menu","LanguageDropDown","isMobile","val","Login","languageContext","authContext","initialValues","validateSchema","yup","shape","required","submit","actions","setSubmitting","loginResult","onContactUs","validationSchema","onSubmit","Link","to","isSubmitting","ProtectedRoute","Component","render","build","Build","AppUpdateWall","buildClient","isOutdated","setIsOutdated","current","marginTop","marginBottom","ModalContext","close","ModalProvider","setContent","closeOnEscapeOrDimmerClick","setCloseOnEscapeOrDimmerClick","Modal","centered","closeOnEscape","closeOnDimmerClick","closeIcon","Content","BaseConfirmation","confirmText","cancelText","confirm","setIsSubmitting","BaseInformation","NotificationDetail","useTrigger","setTrigger","fallbackProps","countUnread","show","NotificationsContext","NotificationsProvider","callback","ms","setNotifications","modalContext","hitTrigger","timer","setInterval","clearInterval","loadUnread","searchText","isHidden","hide","hideAndShowGoBackButton","isShowGoBack","WrapperSearchContext","WrapperSearchProvider","isSearchHidden","setIsSearchHidden","setIsShowGoBack","setPlaceholder","setSearchText","ph","st","cb","WrapperSearchbox","NotificationsDropdown","floating","labeled","compact","pointing","Item","Label","circular","isLoading","setLoading","WrapperFullScreenLoadContext","WrapperFullScreenLoadProvider","setTimeout","clearTimeout","setIsLoadingWithTimer","InformationIconButton","withMargin","JohnDoeAvatar","divStyle","Image","src","logo","avatar","BaseTableSort","fallBackSortProps","canSort","uniqueIdentifier","fallbackSortProps","onSort","params","footer","onClickRow","formatRow","sort","column","Map","m","evaluate","Table","sortable","selectable","Header","Row","header","HeaderCell","sorted","Body","Cell","disableClick","noPadding","handleCellClick","createSortableHeader","createHeader","RevenuesSummary","previousMonthAmountExVat","percentageChangeAmountExVat","initialSort","viewDetails","CalcRevenueDetailRoute","RevenuePerDriver","isExpanded","setIsExpanded","marginRight","pars","Divider","UnreadNotifications","InfoTodoCard","notificationsContext","Card","Dashboard","queryResult","setQueryResult","loaderContext","transportsThisMonth","RevenuesQueryParamsContext","FilterItem","count","onClickAway","noMaxHeight","onOpened","FilterTrigger","MonthSelector","onFilter","monthNames","yearValue","setYearValue","monthValue","setMonthValue","getFullYear","getMonth","handleFilter","addMonths","startOf","endOf","inlineLabel","styles","StyleSheet","page","flexDirection","paddingTop","paddingBottom","paddingHorizontal","fontSize","headerText","marginLeft","subHeaderText","driverHeader","backgroundColor","padding","perDayHeader","perAssignmentHeader","fontWeight","image","dfCol","dfRow","percent7","percent10","percent15","percent20","percent30","percent33","subTotalText","ExportDocument","orientation","z","FilterBar","CustomListItem","onToggle","showCheckbox","ListFilterItem","canSearch","initial","selection","setSelection","isSubmitted","setIsSubmitted","setSearchtext","effect","deps","didMount","setDidMount","useEffectAfterMount","toUpperCase","splice","concat","slice","EnumListFilterItem","FilterDataContext","allFilterableDrivers","FilterDataProvider","setAllFilterableDrivers","FilterRevenues","_SendToApp","_ConfirmedByDriver","_InProgress","_Outsourced","_Loaded","_Departed","_Unloaded","_Processed","_Canceled","_DeadFreight","_SentShipmentChanged","statusOptions","sel","Revenues","isFilterOpen","setIsFilterOpen","setParams","wrapperLoaderContext","isShowPrintVersion","setIsShowPrintVersion","loadRevenues","query","FilterLeaveOfAbsences","LeaveOfAbsencesQueryParamsContext","LeaveOfAbsencesTable","onViewDetail","onAdd","dates","from","DateRange","by","celled","collapsing","definition","vals","year","dayOfYear","flatMap","reduce","sum","renderSingleCellBis","LoaCell","EmptyCell","isHover","setisHover","onMouseEnter","onMouseLeave","ToggleCheckbox","isChecked","setIsChecked","setValue","SelectField","fieldProps","setFieldValue","field","getValue","DefaultDateInput","onValueChanged","dateFormat","strValue","animation","closable","iconPosition","SelectDate","DefaultTimeInput","SelectTime","addTimeToDate","splits","split","hour","minute","second","millisecond","LeaveOfAbsenceForm","onCancel","model","setIsWholeDay","onClickSubmit","persist","isValid","handleSubmit","canInsert","r","setTime","isInitialValid","LeaveOfAbsenceDetail","loas","onDelete","onDeleteAll","DateFilterEnum","LeaveOfAbsences","ids","index","viewDetail","insert","loa","addLeaveOfAbsenceOnDateForDriver","NotificationsQueryParamsContext","NotificationsQueryParamsProvider","BooleanFilterItem","trueText","falseText","DateFilterItem","undefinedLabel","Today","Yesterday","ThisWeek","LastWeek","ThisMonth","LastMonth","ThisYear","LastYear","dateCalcs","shortCode","calculateDates","setShortCode","setVal","setLabel","xx","dateOutput","onChangeShortCode","xAfter","xBefore","toDefaultEndOfDay","calcs","matched","allowSameEndDate","FilterNotifications","PagingFooter","qr","onNext","onPrevious","singleIdentifier","BaseTableSortAndPage","onSortOrPage","Footer","colSpan","nextParams","Notifications","TextareaField","DisputeRevenueForm","onSend","StopViewComponent","stop","stopName","StopsViewComponent","downloadClient","detail","setDetail","loadDetail","downloadSpc","CenterEveryting","Loader","maxHeight","maxWidth","loader","alt","FullScreenLoader","FormsQueryParamsContext","FormsQueryParamsProvider","FilterForms","MainForm","addPackage","deleteExtra","deletePackage","products","setModel","calculatePrice","extra","calculateTotalPrice","Sizes","SizesAsNumbers","NumberInputField","min","max","step","ExtraForm","integer","mustShowSizesAsNumber","PackageForm","OrderClothingForm","state","setState","setProducts","allProducts","pack","FormDetail","_title","_desc","Forms","single","addOrder","MobileNotifications","stroke","strokeWidth","fill","fillRule","transform","MobileFooter","regularIcon","selectedIcon","MobileNavLink","NavLink","endsWith","SettlementProposalQueryParamsContext","FilterSettlementProposals","SpsActions","SettlementProposals","Settings","userInfo","setUserInfo","currentBuild","setCurrentBuild","DefaultParams","SettlementProposalQueryParamsProvider","RevenuesQueryParamsProvider","LeaveOfAbsencesQueryParamsProvider","Wrapper","InnerObject","isMenuOpen","setIsMenuOpen","clicked","BodyContent","Switch","path","Redirect","SideNav","localization","LowerNavLinks","DesktopHeader","MobileHeader","menuClicked","ForgotPassword","App","position","POSITION","TOP_CENTER","autoClose","hideProgressBar","newestOnTop","closeOnClick","closeButton","transition","Slide","draggable","library","faEye","faEyeSlash","faSearch","faStar","faStarRegular","faChevronUp","faChevronDown","faEdit","faEllipsisV","faUsers","faCheckSquare","faSquare","faCheck","faCalendar","faInfo","faCarSide","faTimes","faInfoCircle","faIndustry","faPlus","faCheckCircle","faExclamationTriangle","faReceipt","faChevronLeft","faChevronRight","faComments","faFileSignature","faArrowLeft","faTrash","faLongArrowAltUp","faLongArrowAltDown","faFileAlt","faArrowRight","exact","ReactDOM","getElementById","navigator","serviceWorker","ready","registration","unregister","module","exports"],"mappings":"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","file":"static/js/main.39041ecc.chunk.js","sourcesContent":["// This optional code is used to register a service worker.\n// register() is not called by default.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on subsequent visits to a page, after all the\n// existing tabs open on the page have been closed, since previously cached\n// resources are updated in the background.\n\n// To learn more about the benefits of this model and instructions on how to\n// opt-in, read http://bit.ly/CRA-PWA\n\nconst isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === '[::1]' ||\n // 127.0.0.1/8 is considered localhost for IPv4.\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\n\ntype Config = {\n onSuccess?: (registration: ServiceWorkerRegistration) => void;\n onUpdate?: (registration: ServiceWorkerRegistration) => void;\n};\n\nexport function register(config?: Config) {\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(\n (process as { env: { [key: string]: string } }).env.PUBLIC_URL,\n window.location.href\n );\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\n return;\n }\n\n window.addEventListener('load', () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n if (isLocalhost) {\n // This is running on localhost. Let's check if a service worker still exists or not.\n checkValidServiceWorker(swUrl, config);\n\n // Add some additional logging to localhost, pointing developers to the\n // service worker/PWA documentation.\n navigator.serviceWorker.ready.then(() => {\n console.log(\n 'This web app is being served cache-first by a service ' +\n 'worker. To learn more, visit http://bit.ly/CRA-PWA'\n );\n });\n } else {\n // Is not localhost. Just register service worker\n registerValidSW(swUrl, config);\n }\n });\n }\n}\n\nfunction registerValidSW(swUrl: string, config?: Config) {\n navigator.serviceWorker\n .register(swUrl)\n .then(registration => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing;\n if (installingWorker == null) {\n return;\n }\n installingWorker.onstatechange = () => {\n if (installingWorker.state === 'installed') {\n if (navigator.serviceWorker.controller) {\n // At this point, the updated precached content has been fetched,\n // but the previous service worker will still serve the older\n // content until all client tabs are closed.\n console.log(\n 'New content is available and will be used when all ' +\n 'tabs for this page are closed. See http://bit.ly/CRA-PWA.'\n );\n\n // Execute callback\n if (config && config.onUpdate) {\n config.onUpdate(registration);\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n console.log('Content is cached for offline use.');\n\n // Execute callback\n if (config && config.onSuccess) {\n config.onSuccess(registration);\n }\n }\n }\n };\n };\n })\n .catch(error => {\n console.error('Error during service worker registration:', error);\n });\n}\n\nfunction checkValidServiceWorker(swUrl: string, config?: Config) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl)\n .then(response => {\n // Ensure service worker exists, and that we really are getting a JS file.\n const contentType = response.headers.get('content-type');\n if (\n response.status === 404 ||\n (contentType != null && contentType.indexOf('javascript') === -1)\n ) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister().then(() => {\n window.location.reload();\n });\n });\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl, config);\n }\n })\n .catch(() => {\n console.log(\n 'No internet connection found. App is running in offline mode.'\n );\n });\n}\n\nexport function unregister() {\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister();\n });\n }\n}\n","//----------------------\r\n// \r\n// Generated using the NSwag toolchain v13.16.1.0 (NJsonSchema v10.7.2.0 (Newtonsoft.Json v13.0.0.0)) (http://NSwag.org)\r\n// \r\n//----------------------\r\n\r\n/* tslint:disable */\r\n/* eslint-disable */\r\n// ReSharper disable InconsistentNaming\r\n\r\nimport axios, { AxiosError, AxiosInstance, AxiosRequestConfig, AxiosResponse, CancelToken } from 'axios';\r\n\r\nexport class BuildClient {\r\n private instance: AxiosInstance;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n this.instance = instance ? instance : axios.create();\r\n\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n current( cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/Build/current\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processCurrent(_response);\r\n });\r\n }\r\n\r\n protected processCurrent(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n url( cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/Build/url\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processUrl(_response);\r\n });\r\n }\r\n\r\n protected processUrl(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class FormsClient {\r\n private instance: AxiosInstance;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n this.instance = instance ? instance : axios.create();\r\n\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n query(body?: FormsQueryParams | undefined , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/Forms/query\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json-patch+json\",\r\n \"Accept\": \"text/plain\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processQuery(_response);\r\n });\r\n }\r\n\r\n protected processQuery(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = FormSummaryQueryResult.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n single(id: string , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/Forms/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"text/plain\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processSingle(_response);\r\n });\r\n }\r\n\r\n protected processSingle(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = OrderDetail.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n addOrder(body?: OrderModel | undefined , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/Forms/addOrder\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json-patch+json\",\r\n \"Accept\": \"text/plain\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processAddOrder(_response);\r\n });\r\n }\r\n\r\n protected processAddOrder(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = HttpResponse.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n allProducts( cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/Forms/allProducts\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"text/plain\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processAllProducts(_response);\r\n });\r\n }\r\n\r\n protected processAllProducts(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(ExtraProduct.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class LeaveOfAbsencesClient {\r\n private instance: AxiosInstance;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n this.instance = instance ? instance : axios.create();\r\n\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n query(body?: LeaveOfAbsencesQueryParams | undefined , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/LeaveOfAbsences/query\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json-patch+json\",\r\n \"Accept\": \"text/plain\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processQuery(_response);\r\n });\r\n }\r\n\r\n protected processQuery(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = LeaveOfAbsencesQueryResult.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n insert(body?: LeaveOfAbsenceModel | undefined , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/LeaveOfAbsences/insert\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json-patch+json\",\r\n \"Accept\": \"text/plain\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processInsert(_response);\r\n });\r\n }\r\n\r\n protected processInsert(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = HttpResponse.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n delete(id: string , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/LeaveOfAbsences/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"DELETE\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"text/plain\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processDelete(_response);\r\n });\r\n }\r\n\r\n protected processDelete(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = HttpResponse.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n canDelete(id: string , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/LeaveOfAbsences/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"text/plain\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processCanDelete(_response);\r\n });\r\n }\r\n\r\n protected processCanDelete(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = ValidateResponse.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n canInsert(body?: LeaveOfAbsenceModel | undefined , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/LeaveOfAbsences/canInsert\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json-patch+json\",\r\n \"Accept\": \"text/plain\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processCanInsert(_response);\r\n });\r\n }\r\n\r\n protected processCanInsert(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = ValidateResponse.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class NotificationsClient {\r\n private instance: AxiosInstance;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n this.instance = instance ? instance : axios.create();\r\n\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n unread( cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/Notifications/unread\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"text/plain\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processUnread(_response);\r\n });\r\n }\r\n\r\n protected processUnread(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(Notification.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n query(body?: NotificationsQueryParams | undefined , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/Notifications/query\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json-patch+json\",\r\n \"Accept\": \"text/plain\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processQuery(_response);\r\n });\r\n }\r\n\r\n protected processQuery(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = NotificationQueryResult.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n markAsRead(id: string , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/Notifications/{id}/markAsRead\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"text/plain\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processMarkAsRead(_response);\r\n });\r\n }\r\n\r\n protected processMarkAsRead(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = HttpResponse.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class RevenuesClient {\r\n private instance: AxiosInstance;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n this.instance = instance ? instance : axios.create();\r\n\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n query(body?: RevenuesQueryParams | undefined , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/Revenues/query\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json-patch+json\",\r\n \"Accept\": \"text/plain\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processQuery(_response);\r\n });\r\n }\r\n\r\n protected processQuery(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = RevenuesQueryResult.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n transportsThisMonth( cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/Revenues/transportsThisMonth\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"text/plain\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processTransportsThisMonth(_response);\r\n });\r\n }\r\n\r\n protected processTransportsThisMonth(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = RevenuesQueryResult.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n detail(shipmentId: number , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/Revenues/{shipmentId}\";\r\n if (shipmentId === undefined || shipmentId === null)\r\n throw new Error(\"The parameter 'shipmentId' must be defined.\");\r\n url_ = url_.replace(\"{shipmentId}\", encodeURIComponent(\"\" + shipmentId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"text/plain\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processDetail(_response);\r\n });\r\n }\r\n\r\n protected processDetail(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = RevenueDetail.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n dispute(fileNumber: string, body?: DisputeModel | undefined , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/Revenues/{fileNumber}/dispute\";\r\n if (fileNumber === undefined || fileNumber === null)\r\n throw new Error(\"The parameter 'fileNumber' must be defined.\");\r\n url_ = url_.replace(\"{fileNumber}\", encodeURIComponent(\"\" + fileNumber));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json-patch+json\",\r\n \"Accept\": \"text/plain\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processDispute(_response);\r\n });\r\n }\r\n\r\n protected processDispute(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = HttpResponse.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n downloadServicePartnerConfirmation(fileNumber: string , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/Revenues/{fileNumber}/downloadServicePartnerConfirmation\";\r\n if (fileNumber === undefined || fileNumber === null)\r\n throw new Error(\"The parameter 'fileNumber' must be defined.\");\r\n url_ = url_.replace(\"{fileNumber}\", encodeURIComponent(\"\" + fileNumber));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n responseType: \"blob\",\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"text/plain\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processDownloadServicePartnerConfirmation(_response);\r\n });\r\n }\r\n\r\n protected processDownloadServicePartnerConfirmation(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers[\"content-disposition\"] : undefined;\r\n const fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n return Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class ServicePartnersClient {\r\n private instance: AxiosInstance;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n this.instance = instance ? instance : axios.create();\r\n\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n allFilterableDrivers( cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/ServicePartners/allFilterableDrivers\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"text/plain\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processAllFilterableDrivers(_response);\r\n });\r\n }\r\n\r\n protected processAllFilterableDrivers(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(StringNamedEntity.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class SettlementProposalsClient {\r\n private instance: AxiosInstance;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n this.instance = instance ? instance : axios.create();\r\n\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n query(body?: SettlementProposalQueryParams | undefined , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/SettlementProposals/query\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json-patch+json\",\r\n \"Accept\": \"text/plain\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processQuery(_response);\r\n });\r\n }\r\n\r\n protected processQuery(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = SettlementProposalQueryResult.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n downloadDocument(documentId: string , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/SettlementProposals/{documentId}/download\";\r\n if (documentId === undefined || documentId === null)\r\n throw new Error(\"The parameter 'documentId' must be defined.\");\r\n url_ = url_.replace(\"{documentId}\", encodeURIComponent(\"\" + documentId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n responseType: \"blob\",\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"text/plain\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processDownloadDocument(_response);\r\n });\r\n }\r\n\r\n protected processDownloadDocument(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers[\"content-disposition\"] : undefined;\r\n const fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n return Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class TypesClient {\r\n private instance: AxiosInstance;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n this.instance = instance ? instance : axios.create();\r\n\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n enums( cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/Types/enums\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"text/plain\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processEnums(_response);\r\n });\r\n }\r\n\r\n protected processEnums(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = Enums.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class UserClient {\r\n private instance: AxiosInstance;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n this.instance = instance ? instance : axios.create();\r\n\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n login(body?: LoginModel | undefined , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/User/login\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json-patch+json\",\r\n \"Accept\": \"text/plain\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processLogin(_response);\r\n });\r\n }\r\n\r\n protected processLogin(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = LoginResponse.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n logout( cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/User/logout\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"text/plain\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processLogout(_response);\r\n });\r\n }\r\n\r\n protected processLogout(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = HttpResponse.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n info( cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/User/info\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"text/plain\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processInfo(_response);\r\n });\r\n }\r\n\r\n protected processInfo(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = UserInfo.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class Address implements IAddress {\r\n formatted?: string | undefined;\r\n additionalInfo?: string | undefined;\r\n company?: string | undefined;\r\n phoneNumber?: string | undefined;\r\n contact?: string | undefined;\r\n comment?: string | undefined;\r\n\r\n constructor(data?: IAddress) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.formatted = _data[\"formatted\"];\r\n this.additionalInfo = _data[\"additionalInfo\"];\r\n this.company = _data[\"company\"];\r\n this.phoneNumber = _data[\"phoneNumber\"];\r\n this.contact = _data[\"contact\"];\r\n this.comment = _data[\"comment\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): Address {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Address();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"formatted\"] = this.formatted;\r\n data[\"additionalInfo\"] = this.additionalInfo;\r\n data[\"company\"] = this.company;\r\n data[\"phoneNumber\"] = this.phoneNumber;\r\n data[\"contact\"] = this.contact;\r\n data[\"comment\"] = this.comment;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAddress {\r\n formatted?: string | undefined;\r\n additionalInfo?: string | undefined;\r\n company?: string | undefined;\r\n phoneNumber?: string | undefined;\r\n contact?: string | undefined;\r\n comment?: string | undefined;\r\n}\r\n\r\nexport class DisputeModel implements IDisputeModel {\r\n message?: string | undefined;\r\n\r\n constructor(data?: IDisputeModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.message = _data[\"message\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DisputeModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DisputeModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"message\"] = this.message;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDisputeModel {\r\n message?: string | undefined;\r\n}\r\n\r\nexport class Enums implements IEnums {\r\n transportStatus?: TransportStatus;\r\n\r\n constructor(data?: IEnums) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.transportStatus = _data[\"transportStatus\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): Enums {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Enums();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"transportStatus\"] = this.transportStatus;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IEnums {\r\n transportStatus?: TransportStatus;\r\n}\r\n\r\nexport class Extra implements IExtra {\r\n description?: string | undefined;\r\n size?: string | undefined;\r\n quantity?: number;\r\n pricePerPiece?: number;\r\n readonly linePrice?: number;\r\n\r\n constructor(data?: IExtra) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.description = _data[\"description\"];\r\n this.size = _data[\"size\"];\r\n this.quantity = _data[\"quantity\"];\r\n this.pricePerPiece = _data[\"pricePerPiece\"];\r\n (this).linePrice = _data[\"linePrice\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): Extra {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Extra();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"description\"] = this.description;\r\n data[\"size\"] = this.size;\r\n data[\"quantity\"] = this.quantity;\r\n data[\"pricePerPiece\"] = this.pricePerPiece;\r\n data[\"linePrice\"] = this.linePrice;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IExtra {\r\n description?: string | undefined;\r\n size?: string | undefined;\r\n quantity?: number;\r\n pricePerPiece?: number;\r\n linePrice?: number;\r\n}\r\n\r\nexport class ExtraProduct implements IExtraProduct {\r\n description?: string | undefined;\r\n price?: number;\r\n hasSizeAsNumber?: boolean;\r\n\r\n constructor(data?: IExtraProduct) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.description = _data[\"description\"];\r\n this.price = _data[\"price\"];\r\n this.hasSizeAsNumber = _data[\"hasSizeAsNumber\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ExtraProduct {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ExtraProduct();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"description\"] = this.description;\r\n data[\"price\"] = this.price;\r\n data[\"hasSizeAsNumber\"] = this.hasSizeAsNumber;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IExtraProduct {\r\n description?: string | undefined;\r\n price?: number;\r\n hasSizeAsNumber?: boolean;\r\n}\r\n\r\nexport class FormSummary implements IFormSummary {\r\n id?: string;\r\n createdDate?: Date;\r\n driverName?: string | undefined;\r\n driverId?: string | undefined;\r\n formatted?: string | undefined;\r\n totalPrice?: number;\r\n\r\n constructor(data?: IFormSummary) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.createdDate = _data[\"createdDate\"] ? new Date(_data[\"createdDate\"].toString()) : undefined;\r\n this.driverName = _data[\"driverName\"];\r\n this.driverId = _data[\"driverId\"];\r\n this.formatted = _data[\"formatted\"];\r\n this.totalPrice = _data[\"totalPrice\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): FormSummary {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FormSummary();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"createdDate\"] = this.createdDate ? this.createdDate.toISOString() : undefined;\r\n data[\"driverName\"] = this.driverName;\r\n data[\"driverId\"] = this.driverId;\r\n data[\"formatted\"] = this.formatted;\r\n data[\"totalPrice\"] = this.totalPrice;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IFormSummary {\r\n id?: string;\r\n createdDate?: Date;\r\n driverName?: string | undefined;\r\n driverId?: string | undefined;\r\n formatted?: string | undefined;\r\n totalPrice?: number;\r\n}\r\n\r\nexport class FormSummaryQueryResult implements IFormSummaryQueryResult {\r\n values?: FormSummary[] | undefined;\r\n totals?: number;\r\n pageIndex?: number;\r\n pageSize?: number;\r\n readonly totalPages?: number;\r\n readonly currentFrom?: number;\r\n readonly currentTo?: number;\r\n readonly hasPreviousPage?: boolean;\r\n readonly hasNextPage?: boolean;\r\n\r\n constructor(data?: IFormSummaryQueryResult) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"values\"])) {\r\n this.values = [] as any;\r\n for (let item of _data[\"values\"])\r\n this.values!.push(FormSummary.fromJS(item));\r\n }\r\n this.totals = _data[\"totals\"];\r\n this.pageIndex = _data[\"pageIndex\"];\r\n this.pageSize = _data[\"pageSize\"];\r\n (this).totalPages = _data[\"totalPages\"];\r\n (this).currentFrom = _data[\"currentFrom\"];\r\n (this).currentTo = _data[\"currentTo\"];\r\n (this).hasPreviousPage = _data[\"hasPreviousPage\"];\r\n (this).hasNextPage = _data[\"hasNextPage\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): FormSummaryQueryResult {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FormSummaryQueryResult();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.values)) {\r\n data[\"values\"] = [];\r\n for (let item of this.values)\r\n data[\"values\"].push(item.toJSON());\r\n }\r\n data[\"totals\"] = this.totals;\r\n data[\"pageIndex\"] = this.pageIndex;\r\n data[\"pageSize\"] = this.pageSize;\r\n data[\"totalPages\"] = this.totalPages;\r\n data[\"currentFrom\"] = this.currentFrom;\r\n data[\"currentTo\"] = this.currentTo;\r\n data[\"hasPreviousPage\"] = this.hasPreviousPage;\r\n data[\"hasNextPage\"] = this.hasNextPage;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IFormSummaryQueryResult {\r\n values?: FormSummary[] | undefined;\r\n totals?: number;\r\n pageIndex?: number;\r\n pageSize?: number;\r\n totalPages?: number;\r\n currentFrom?: number;\r\n currentTo?: number;\r\n hasPreviousPage?: boolean;\r\n hasNextPage?: boolean;\r\n}\r\n\r\nexport class FormsQueryParams implements IFormsQueryParams {\r\n sortProperty?: string | undefined;\r\n sortDirection?: string | undefined;\r\n pageIndex?: number;\r\n pageSize?: number;\r\n searchString?: string | undefined;\r\n afterDate?: Date | undefined;\r\n beforeDate?: Date | undefined;\r\n driverIds?: string[] | undefined;\r\n\r\n constructor(data?: IFormsQueryParams) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.sortProperty = _data[\"sortProperty\"];\r\n this.sortDirection = _data[\"sortDirection\"];\r\n this.pageIndex = _data[\"pageIndex\"];\r\n this.pageSize = _data[\"pageSize\"];\r\n this.searchString = _data[\"searchString\"];\r\n this.afterDate = _data[\"afterDate\"] ? new Date(_data[\"afterDate\"].toString()) : undefined;\r\n this.beforeDate = _data[\"beforeDate\"] ? new Date(_data[\"beforeDate\"].toString()) : undefined;\r\n if (Array.isArray(_data[\"driverIds\"])) {\r\n this.driverIds = [] as any;\r\n for (let item of _data[\"driverIds\"])\r\n this.driverIds!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): FormsQueryParams {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FormsQueryParams();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"sortProperty\"] = this.sortProperty;\r\n data[\"sortDirection\"] = this.sortDirection;\r\n data[\"pageIndex\"] = this.pageIndex;\r\n data[\"pageSize\"] = this.pageSize;\r\n data[\"searchString\"] = this.searchString;\r\n data[\"afterDate\"] = this.afterDate ? this.afterDate.toISOString() : undefined;\r\n data[\"beforeDate\"] = this.beforeDate ? this.beforeDate.toISOString() : undefined;\r\n if (Array.isArray(this.driverIds)) {\r\n data[\"driverIds\"] = [];\r\n for (let item of this.driverIds)\r\n data[\"driverIds\"].push(item);\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IFormsQueryParams {\r\n sortProperty?: string | undefined;\r\n sortDirection?: string | undefined;\r\n pageIndex?: number;\r\n pageSize?: number;\r\n searchString?: string | undefined;\r\n afterDate?: Date | undefined;\r\n beforeDate?: Date | undefined;\r\n driverIds?: string[] | undefined;\r\n}\r\n\r\nexport class HttpResponse implements IHttpResponse {\r\n isSuccess?: boolean;\r\n error?: string | undefined;\r\n readonly hasError?: boolean;\r\n\r\n constructor(data?: IHttpResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.isSuccess = _data[\"isSuccess\"];\r\n this.error = _data[\"error\"];\r\n (this).hasError = _data[\"hasError\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): HttpResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new HttpResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"isSuccess\"] = this.isSuccess;\r\n data[\"error\"] = this.error;\r\n data[\"hasError\"] = this.hasError;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IHttpResponse {\r\n isSuccess?: boolean;\r\n error?: string | undefined;\r\n hasError?: boolean;\r\n}\r\n\r\nexport class LeaveOfAbsenceModel implements ILeaveOfAbsenceModel {\r\n driverId?: string | undefined;\r\n fromDate?: Date;\r\n toDate?: Date;\r\n isWholeDay?: boolean;\r\n\r\n constructor(data?: ILeaveOfAbsenceModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.driverId = _data[\"driverId\"];\r\n this.fromDate = _data[\"fromDate\"] ? new Date(_data[\"fromDate\"].toString()) : undefined;\r\n this.toDate = _data[\"toDate\"] ? new Date(_data[\"toDate\"].toString()) : undefined;\r\n this.isWholeDay = _data[\"isWholeDay\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): LeaveOfAbsenceModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LeaveOfAbsenceModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"driverId\"] = this.driverId;\r\n data[\"fromDate\"] = this.fromDate ? this.fromDate.toISOString() : undefined;\r\n data[\"toDate\"] = this.toDate ? this.toDate.toISOString() : undefined;\r\n data[\"isWholeDay\"] = this.isWholeDay;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILeaveOfAbsenceModel {\r\n driverId?: string | undefined;\r\n fromDate?: Date;\r\n toDate?: Date;\r\n isWholeDay?: boolean;\r\n}\r\n\r\nexport class LeaveOfAbsenceSummary implements ILeaveOfAbsenceSummary {\r\n id?: string | undefined;\r\n driverName?: string | undefined;\r\n date?: Date;\r\n isWholeDay?: boolean;\r\n fromTime?: string | undefined;\r\n toTime?: string | undefined;\r\n readonly hours?: number;\r\n\r\n constructor(data?: ILeaveOfAbsenceSummary) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.driverName = _data[\"driverName\"];\r\n this.date = _data[\"date\"] ? new Date(_data[\"date\"].toString()) : undefined;\r\n this.isWholeDay = _data[\"isWholeDay\"];\r\n this.fromTime = _data[\"fromTime\"];\r\n this.toTime = _data[\"toTime\"];\r\n (this).hours = _data[\"hours\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): LeaveOfAbsenceSummary {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LeaveOfAbsenceSummary();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"driverName\"] = this.driverName;\r\n data[\"date\"] = this.date ? this.date.toISOString() : undefined;\r\n data[\"isWholeDay\"] = this.isWholeDay;\r\n data[\"fromTime\"] = this.fromTime;\r\n data[\"toTime\"] = this.toTime;\r\n data[\"hours\"] = this.hours;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILeaveOfAbsenceSummary {\r\n id?: string | undefined;\r\n driverName?: string | undefined;\r\n date?: Date;\r\n isWholeDay?: boolean;\r\n fromTime?: string | undefined;\r\n toTime?: string | undefined;\r\n hours?: number;\r\n}\r\n\r\nexport class LeaveOfAbsencesByDriver implements ILeaveOfAbsencesByDriver {\r\n driverId?: string | undefined;\r\n driverName?: string | undefined;\r\n values?: LeaveOfAbsenceSummary[] | undefined;\r\n\r\n constructor(data?: ILeaveOfAbsencesByDriver) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.driverId = _data[\"driverId\"];\r\n this.driverName = _data[\"driverName\"];\r\n if (Array.isArray(_data[\"values\"])) {\r\n this.values = [] as any;\r\n for (let item of _data[\"values\"])\r\n this.values!.push(LeaveOfAbsenceSummary.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): LeaveOfAbsencesByDriver {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LeaveOfAbsencesByDriver();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"driverId\"] = this.driverId;\r\n data[\"driverName\"] = this.driverName;\r\n if (Array.isArray(this.values)) {\r\n data[\"values\"] = [];\r\n for (let item of this.values)\r\n data[\"values\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILeaveOfAbsencesByDriver {\r\n driverId?: string | undefined;\r\n driverName?: string | undefined;\r\n values?: LeaveOfAbsenceSummary[] | undefined;\r\n}\r\n\r\nexport class LeaveOfAbsencesQueryParams implements ILeaveOfAbsencesQueryParams {\r\n afterDate?: Date;\r\n beforeDate?: Date;\r\n driverIds?: string[] | undefined;\r\n\r\n constructor(data?: ILeaveOfAbsencesQueryParams) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.afterDate = _data[\"afterDate\"] ? new Date(_data[\"afterDate\"].toString()) : undefined;\r\n this.beforeDate = _data[\"beforeDate\"] ? new Date(_data[\"beforeDate\"].toString()) : undefined;\r\n if (Array.isArray(_data[\"driverIds\"])) {\r\n this.driverIds = [] as any;\r\n for (let item of _data[\"driverIds\"])\r\n this.driverIds!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): LeaveOfAbsencesQueryParams {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LeaveOfAbsencesQueryParams();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"afterDate\"] = this.afterDate ? this.afterDate.toISOString() : undefined;\r\n data[\"beforeDate\"] = this.beforeDate ? this.beforeDate.toISOString() : undefined;\r\n if (Array.isArray(this.driverIds)) {\r\n data[\"driverIds\"] = [];\r\n for (let item of this.driverIds)\r\n data[\"driverIds\"].push(item);\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILeaveOfAbsencesQueryParams {\r\n afterDate?: Date;\r\n beforeDate?: Date;\r\n driverIds?: string[] | undefined;\r\n}\r\n\r\nexport class LeaveOfAbsencesQueryResult implements ILeaveOfAbsencesQueryResult {\r\n beforeDate?: Date;\r\n afterDate?: Date;\r\n values?: LeaveOfAbsencesByDriver[] | undefined;\r\n\r\n constructor(data?: ILeaveOfAbsencesQueryResult) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.beforeDate = _data[\"beforeDate\"] ? new Date(_data[\"beforeDate\"].toString()) : undefined;\r\n this.afterDate = _data[\"afterDate\"] ? new Date(_data[\"afterDate\"].toString()) : undefined;\r\n if (Array.isArray(_data[\"values\"])) {\r\n this.values = [] as any;\r\n for (let item of _data[\"values\"])\r\n this.values!.push(LeaveOfAbsencesByDriver.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): LeaveOfAbsencesQueryResult {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LeaveOfAbsencesQueryResult();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"beforeDate\"] = this.beforeDate ? this.beforeDate.toISOString() : undefined;\r\n data[\"afterDate\"] = this.afterDate ? this.afterDate.toISOString() : undefined;\r\n if (Array.isArray(this.values)) {\r\n data[\"values\"] = [];\r\n for (let item of this.values)\r\n data[\"values\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILeaveOfAbsencesQueryResult {\r\n beforeDate?: Date;\r\n afterDate?: Date;\r\n values?: LeaveOfAbsencesByDriver[] | undefined;\r\n}\r\n\r\nexport class LoginModel implements ILoginModel {\r\n userName?: string | undefined;\r\n password?: string | undefined;\r\n\r\n constructor(data?: ILoginModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.userName = _data[\"userName\"];\r\n this.password = _data[\"password\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): LoginModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LoginModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"userName\"] = this.userName;\r\n data[\"password\"] = this.password;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILoginModel {\r\n userName?: string | undefined;\r\n password?: string | undefined;\r\n}\r\n\r\nexport class LoginResponse implements ILoginResponse {\r\n hasError?: boolean;\r\n token?: string | undefined;\r\n\r\n constructor(data?: ILoginResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.hasError = _data[\"hasError\"];\r\n this.token = _data[\"token\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): LoginResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LoginResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"hasError\"] = this.hasError;\r\n data[\"token\"] = this.token;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILoginResponse {\r\n hasError?: boolean;\r\n token?: string | undefined;\r\n}\r\n\r\nexport class Notification implements INotification {\r\n id?: string;\r\n title?: string | undefined;\r\n description?: string | undefined;\r\n isRead?: boolean;\r\n date?: Date;\r\n isHighPriority?: boolean;\r\n\r\n constructor(data?: INotification) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.title = _data[\"title\"];\r\n this.description = _data[\"description\"];\r\n this.isRead = _data[\"isRead\"];\r\n this.date = _data[\"date\"] ? new Date(_data[\"date\"].toString()) : undefined;\r\n this.isHighPriority = _data[\"isHighPriority\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): Notification {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Notification();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"title\"] = this.title;\r\n data[\"description\"] = this.description;\r\n data[\"isRead\"] = this.isRead;\r\n data[\"date\"] = this.date ? this.date.toISOString() : undefined;\r\n data[\"isHighPriority\"] = this.isHighPriority;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface INotification {\r\n id?: string;\r\n title?: string | undefined;\r\n description?: string | undefined;\r\n isRead?: boolean;\r\n date?: Date;\r\n isHighPriority?: boolean;\r\n}\r\n\r\nexport class NotificationQueryResult implements INotificationQueryResult {\r\n values?: Notification[] | undefined;\r\n totals?: number;\r\n pageIndex?: number;\r\n pageSize?: number;\r\n readonly totalPages?: number;\r\n readonly currentFrom?: number;\r\n readonly currentTo?: number;\r\n readonly hasPreviousPage?: boolean;\r\n readonly hasNextPage?: boolean;\r\n\r\n constructor(data?: INotificationQueryResult) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"values\"])) {\r\n this.values = [] as any;\r\n for (let item of _data[\"values\"])\r\n this.values!.push(Notification.fromJS(item));\r\n }\r\n this.totals = _data[\"totals\"];\r\n this.pageIndex = _data[\"pageIndex\"];\r\n this.pageSize = _data[\"pageSize\"];\r\n (this).totalPages = _data[\"totalPages\"];\r\n (this).currentFrom = _data[\"currentFrom\"];\r\n (this).currentTo = _data[\"currentTo\"];\r\n (this).hasPreviousPage = _data[\"hasPreviousPage\"];\r\n (this).hasNextPage = _data[\"hasNextPage\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): NotificationQueryResult {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new NotificationQueryResult();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.values)) {\r\n data[\"values\"] = [];\r\n for (let item of this.values)\r\n data[\"values\"].push(item.toJSON());\r\n }\r\n data[\"totals\"] = this.totals;\r\n data[\"pageIndex\"] = this.pageIndex;\r\n data[\"pageSize\"] = this.pageSize;\r\n data[\"totalPages\"] = this.totalPages;\r\n data[\"currentFrom\"] = this.currentFrom;\r\n data[\"currentTo\"] = this.currentTo;\r\n data[\"hasPreviousPage\"] = this.hasPreviousPage;\r\n data[\"hasNextPage\"] = this.hasNextPage;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface INotificationQueryResult {\r\n values?: Notification[] | undefined;\r\n totals?: number;\r\n pageIndex?: number;\r\n pageSize?: number;\r\n totalPages?: number;\r\n currentFrom?: number;\r\n currentTo?: number;\r\n hasPreviousPage?: boolean;\r\n hasNextPage?: boolean;\r\n}\r\n\r\nexport class NotificationsQueryParams implements INotificationsQueryParams {\r\n sortProperty?: string | undefined;\r\n sortDirection?: string | undefined;\r\n pageIndex?: number;\r\n pageSize?: number;\r\n searchString?: string | undefined;\r\n isRead?: boolean | undefined;\r\n afterDate?: Date | undefined;\r\n beforeDate?: Date | undefined;\r\n\r\n constructor(data?: INotificationsQueryParams) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.sortProperty = _data[\"sortProperty\"];\r\n this.sortDirection = _data[\"sortDirection\"];\r\n this.pageIndex = _data[\"pageIndex\"];\r\n this.pageSize = _data[\"pageSize\"];\r\n this.searchString = _data[\"searchString\"];\r\n this.isRead = _data[\"isRead\"];\r\n this.afterDate = _data[\"afterDate\"] ? new Date(_data[\"afterDate\"].toString()) : undefined;\r\n this.beforeDate = _data[\"beforeDate\"] ? new Date(_data[\"beforeDate\"].toString()) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): NotificationsQueryParams {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new NotificationsQueryParams();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"sortProperty\"] = this.sortProperty;\r\n data[\"sortDirection\"] = this.sortDirection;\r\n data[\"pageIndex\"] = this.pageIndex;\r\n data[\"pageSize\"] = this.pageSize;\r\n data[\"searchString\"] = this.searchString;\r\n data[\"isRead\"] = this.isRead;\r\n data[\"afterDate\"] = this.afterDate ? this.afterDate.toISOString() : undefined;\r\n data[\"beforeDate\"] = this.beforeDate ? this.beforeDate.toISOString() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface INotificationsQueryParams {\r\n sortProperty?: string | undefined;\r\n sortDirection?: string | undefined;\r\n pageIndex?: number;\r\n pageSize?: number;\r\n searchString?: string | undefined;\r\n isRead?: boolean | undefined;\r\n afterDate?: Date | undefined;\r\n beforeDate?: Date | undefined;\r\n}\r\n\r\nexport class OrderDetail implements IOrderDetail {\r\n driverId?: string | undefined;\r\n mobilePhoneDriver?: string | undefined;\r\n extras?: Extra[] | undefined;\r\n starterPacks?: Package[] | undefined;\r\n readonly totalPrice?: number;\r\n id?: string;\r\n createdDate?: Date;\r\n lastModifiedDate?: Date;\r\n servicePartnerId?: string | undefined;\r\n servicePartnerName?: string | undefined;\r\n driverName?: string | undefined;\r\n isRead?: boolean;\r\n\r\n constructor(data?: IOrderDetail) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.driverId = _data[\"driverId\"];\r\n this.mobilePhoneDriver = _data[\"mobilePhoneDriver\"];\r\n if (Array.isArray(_data[\"extras\"])) {\r\n this.extras = [] as any;\r\n for (let item of _data[\"extras\"])\r\n this.extras!.push(Extra.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"starterPacks\"])) {\r\n this.starterPacks = [] as any;\r\n for (let item of _data[\"starterPacks\"])\r\n this.starterPacks!.push(Package.fromJS(item));\r\n }\r\n (this).totalPrice = _data[\"totalPrice\"];\r\n this.id = _data[\"id\"];\r\n this.createdDate = _data[\"createdDate\"] ? new Date(_data[\"createdDate\"].toString()) : undefined;\r\n this.lastModifiedDate = _data[\"lastModifiedDate\"] ? new Date(_data[\"lastModifiedDate\"].toString()) : undefined;\r\n this.servicePartnerId = _data[\"servicePartnerId\"];\r\n this.servicePartnerName = _data[\"servicePartnerName\"];\r\n this.driverName = _data[\"driverName\"];\r\n this.isRead = _data[\"isRead\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): OrderDetail {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new OrderDetail();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"driverId\"] = this.driverId;\r\n data[\"mobilePhoneDriver\"] = this.mobilePhoneDriver;\r\n if (Array.isArray(this.extras)) {\r\n data[\"extras\"] = [];\r\n for (let item of this.extras)\r\n data[\"extras\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.starterPacks)) {\r\n data[\"starterPacks\"] = [];\r\n for (let item of this.starterPacks)\r\n data[\"starterPacks\"].push(item.toJSON());\r\n }\r\n data[\"totalPrice\"] = this.totalPrice;\r\n data[\"id\"] = this.id;\r\n data[\"createdDate\"] = this.createdDate ? this.createdDate.toISOString() : undefined;\r\n data[\"lastModifiedDate\"] = this.lastModifiedDate ? this.lastModifiedDate.toISOString() : undefined;\r\n data[\"servicePartnerId\"] = this.servicePartnerId;\r\n data[\"servicePartnerName\"] = this.servicePartnerName;\r\n data[\"driverName\"] = this.driverName;\r\n data[\"isRead\"] = this.isRead;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IOrderDetail {\r\n driverId?: string | undefined;\r\n mobilePhoneDriver?: string | undefined;\r\n extras?: Extra[] | undefined;\r\n starterPacks?: Package[] | undefined;\r\n totalPrice?: number;\r\n id?: string;\r\n createdDate?: Date;\r\n lastModifiedDate?: Date;\r\n servicePartnerId?: string | undefined;\r\n servicePartnerName?: string | undefined;\r\n driverName?: string | undefined;\r\n isRead?: boolean;\r\n}\r\n\r\nexport class OrderModel implements IOrderModel {\r\n driverId?: string | undefined;\r\n mobilePhoneDriver?: string | undefined;\r\n extras?: Extra[] | undefined;\r\n starterPacks?: Package[] | undefined;\r\n readonly totalPrice?: number;\r\n\r\n constructor(data?: IOrderModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.driverId = _data[\"driverId\"];\r\n this.mobilePhoneDriver = _data[\"mobilePhoneDriver\"];\r\n if (Array.isArray(_data[\"extras\"])) {\r\n this.extras = [] as any;\r\n for (let item of _data[\"extras\"])\r\n this.extras!.push(Extra.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"starterPacks\"])) {\r\n this.starterPacks = [] as any;\r\n for (let item of _data[\"starterPacks\"])\r\n this.starterPacks!.push(Package.fromJS(item));\r\n }\r\n (this).totalPrice = _data[\"totalPrice\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): OrderModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new OrderModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"driverId\"] = this.driverId;\r\n data[\"mobilePhoneDriver\"] = this.mobilePhoneDriver;\r\n if (Array.isArray(this.extras)) {\r\n data[\"extras\"] = [];\r\n for (let item of this.extras)\r\n data[\"extras\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.starterPacks)) {\r\n data[\"starterPacks\"] = [];\r\n for (let item of this.starterPacks)\r\n data[\"starterPacks\"].push(item.toJSON());\r\n }\r\n data[\"totalPrice\"] = this.totalPrice;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IOrderModel {\r\n driverId?: string | undefined;\r\n mobilePhoneDriver?: string | undefined;\r\n extras?: Extra[] | undefined;\r\n starterPacks?: Package[] | undefined;\r\n totalPrice?: number;\r\n}\r\n\r\nexport class Package implements IPackage {\r\n sizeTShirt?: string | undefined;\r\n sizePolo?: string | undefined;\r\n sizeSweatShirt?: string | undefined;\r\n quantity?: number;\r\n pricePerPackage?: number;\r\n readonly linePrice?: number;\r\n\r\n constructor(data?: IPackage) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.sizeTShirt = _data[\"sizeTShirt\"];\r\n this.sizePolo = _data[\"sizePolo\"];\r\n this.sizeSweatShirt = _data[\"sizeSweatShirt\"];\r\n this.quantity = _data[\"quantity\"];\r\n this.pricePerPackage = _data[\"pricePerPackage\"];\r\n (this).linePrice = _data[\"linePrice\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): Package {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Package();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"sizeTShirt\"] = this.sizeTShirt;\r\n data[\"sizePolo\"] = this.sizePolo;\r\n data[\"sizeSweatShirt\"] = this.sizeSweatShirt;\r\n data[\"quantity\"] = this.quantity;\r\n data[\"pricePerPackage\"] = this.pricePerPackage;\r\n data[\"linePrice\"] = this.linePrice;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IPackage {\r\n sizeTShirt?: string | undefined;\r\n sizePolo?: string | undefined;\r\n sizeSweatShirt?: string | undefined;\r\n quantity?: number;\r\n pricePerPackage?: number;\r\n linePrice?: number;\r\n}\r\n\r\nexport class Revenue implements IRevenue {\r\n shipmentId?: number;\r\n fileNumber?: string | undefined;\r\n assignment?: string | undefined;\r\n date?: Date;\r\n status?: string | undefined;\r\n formattedAddress?: string | undefined;\r\n amountInVat?: number;\r\n amountExVat?: number;\r\n department?: string | undefined;\r\n readonly vatAmount?: number;\r\n\r\n constructor(data?: IRevenue) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.shipmentId = _data[\"shipmentId\"];\r\n this.fileNumber = _data[\"fileNumber\"];\r\n this.assignment = _data[\"assignment\"];\r\n this.date = _data[\"date\"] ? new Date(_data[\"date\"].toString()) : undefined;\r\n this.status = _data[\"status\"];\r\n this.formattedAddress = _data[\"formattedAddress\"];\r\n this.amountInVat = _data[\"amountInVat\"];\r\n this.amountExVat = _data[\"amountExVat\"];\r\n this.department = _data[\"department\"];\r\n (this).vatAmount = _data[\"vatAmount\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): Revenue {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Revenue();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"shipmentId\"] = this.shipmentId;\r\n data[\"fileNumber\"] = this.fileNumber;\r\n data[\"assignment\"] = this.assignment;\r\n data[\"date\"] = this.date ? this.date.toISOString() : undefined;\r\n data[\"status\"] = this.status;\r\n data[\"formattedAddress\"] = this.formattedAddress;\r\n data[\"amountInVat\"] = this.amountInVat;\r\n data[\"amountExVat\"] = this.amountExVat;\r\n data[\"department\"] = this.department;\r\n data[\"vatAmount\"] = this.vatAmount;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IRevenue {\r\n shipmentId?: number;\r\n fileNumber?: string | undefined;\r\n assignment?: string | undefined;\r\n date?: Date;\r\n status?: string | undefined;\r\n formattedAddress?: string | undefined;\r\n amountInVat?: number;\r\n amountExVat?: number;\r\n department?: string | undefined;\r\n vatAmount?: number;\r\n}\r\n\r\nexport class RevenueDetail implements IRevenueDetail {\r\n shipmentId?: number;\r\n driverId?: string | undefined;\r\n driverName?: string | undefined;\r\n fileNumber?: string | undefined;\r\n department?: string | undefined;\r\n subDepartment?: string | undefined;\r\n amount?: number;\r\n amountInclVat?: number;\r\n date?: Date;\r\n status?: string | undefined;\r\n reference?: string | undefined;\r\n numberOfStops?: number;\r\n hasExtraStops?: boolean;\r\n totalDistance?: number;\r\n isTrackAndTraceAvailable?: boolean;\r\n firstStop?: Stop;\r\n extraStops?: Stop[] | undefined;\r\n lastStop?: Stop;\r\n revenues?: RevenueWithDescription[] | undefined;\r\n\r\n constructor(data?: IRevenueDetail) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.shipmentId = _data[\"shipmentId\"];\r\n this.driverId = _data[\"driverId\"];\r\n this.driverName = _data[\"driverName\"];\r\n this.fileNumber = _data[\"fileNumber\"];\r\n this.department = _data[\"department\"];\r\n this.subDepartment = _data[\"subDepartment\"];\r\n this.amount = _data[\"amount\"];\r\n this.amountInclVat = _data[\"amountInclVat\"];\r\n this.date = _data[\"date\"] ? new Date(_data[\"date\"].toString()) : undefined;\r\n this.status = _data[\"status\"];\r\n this.reference = _data[\"reference\"];\r\n this.numberOfStops = _data[\"numberOfStops\"];\r\n this.hasExtraStops = _data[\"hasExtraStops\"];\r\n this.totalDistance = _data[\"totalDistance\"];\r\n this.isTrackAndTraceAvailable = _data[\"isTrackAndTraceAvailable\"];\r\n this.firstStop = _data[\"firstStop\"] ? Stop.fromJS(_data[\"firstStop\"]) : undefined;\r\n if (Array.isArray(_data[\"extraStops\"])) {\r\n this.extraStops = [] as any;\r\n for (let item of _data[\"extraStops\"])\r\n this.extraStops!.push(Stop.fromJS(item));\r\n }\r\n this.lastStop = _data[\"lastStop\"] ? Stop.fromJS(_data[\"lastStop\"]) : undefined;\r\n if (Array.isArray(_data[\"revenues\"])) {\r\n this.revenues = [] as any;\r\n for (let item of _data[\"revenues\"])\r\n this.revenues!.push(RevenueWithDescription.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): RevenueDetail {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RevenueDetail();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"shipmentId\"] = this.shipmentId;\r\n data[\"driverId\"] = this.driverId;\r\n data[\"driverName\"] = this.driverName;\r\n data[\"fileNumber\"] = this.fileNumber;\r\n data[\"department\"] = this.department;\r\n data[\"subDepartment\"] = this.subDepartment;\r\n data[\"amount\"] = this.amount;\r\n data[\"amountInclVat\"] = this.amountInclVat;\r\n data[\"date\"] = this.date ? this.date.toISOString() : undefined;\r\n data[\"status\"] = this.status;\r\n data[\"reference\"] = this.reference;\r\n data[\"numberOfStops\"] = this.numberOfStops;\r\n data[\"hasExtraStops\"] = this.hasExtraStops;\r\n data[\"totalDistance\"] = this.totalDistance;\r\n data[\"isTrackAndTraceAvailable\"] = this.isTrackAndTraceAvailable;\r\n data[\"firstStop\"] = this.firstStop ? this.firstStop.toJSON() : undefined;\r\n if (Array.isArray(this.extraStops)) {\r\n data[\"extraStops\"] = [];\r\n for (let item of this.extraStops)\r\n data[\"extraStops\"].push(item.toJSON());\r\n }\r\n data[\"lastStop\"] = this.lastStop ? this.lastStop.toJSON() : undefined;\r\n if (Array.isArray(this.revenues)) {\r\n data[\"revenues\"] = [];\r\n for (let item of this.revenues)\r\n data[\"revenues\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IRevenueDetail {\r\n shipmentId?: number;\r\n driverId?: string | undefined;\r\n driverName?: string | undefined;\r\n fileNumber?: string | undefined;\r\n department?: string | undefined;\r\n subDepartment?: string | undefined;\r\n amount?: number;\r\n amountInclVat?: number;\r\n date?: Date;\r\n status?: string | undefined;\r\n reference?: string | undefined;\r\n numberOfStops?: number;\r\n hasExtraStops?: boolean;\r\n totalDistance?: number;\r\n isTrackAndTraceAvailable?: boolean;\r\n firstStop?: Stop;\r\n extraStops?: Stop[] | undefined;\r\n lastStop?: Stop;\r\n revenues?: RevenueWithDescription[] | undefined;\r\n}\r\n\r\nexport class RevenuePerAssignment implements IRevenuePerAssignment {\r\n assignment?: string | undefined;\r\n values?: Revenue[] | undefined;\r\n readonly amountExVat?: number;\r\n readonly amountInVat?: number;\r\n\r\n constructor(data?: IRevenuePerAssignment) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.assignment = _data[\"assignment\"];\r\n if (Array.isArray(_data[\"values\"])) {\r\n this.values = [] as any;\r\n for (let item of _data[\"values\"])\r\n this.values!.push(Revenue.fromJS(item));\r\n }\r\n (this).amountExVat = _data[\"amountExVat\"];\r\n (this).amountInVat = _data[\"amountInVat\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): RevenuePerAssignment {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RevenuePerAssignment();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"assignment\"] = this.assignment;\r\n if (Array.isArray(this.values)) {\r\n data[\"values\"] = [];\r\n for (let item of this.values)\r\n data[\"values\"].push(item.toJSON());\r\n }\r\n data[\"amountExVat\"] = this.amountExVat;\r\n data[\"amountInVat\"] = this.amountInVat;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IRevenuePerAssignment {\r\n assignment?: string | undefined;\r\n values?: Revenue[] | undefined;\r\n amountExVat?: number;\r\n amountInVat?: number;\r\n}\r\n\r\nexport class RevenuePerDay implements IRevenuePerDay {\r\n date?: Date;\r\n values?: RevenuePerAssignment[] | undefined;\r\n readonly amountExVat?: number;\r\n readonly amountInVat?: number;\r\n\r\n constructor(data?: IRevenuePerDay) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.date = _data[\"date\"] ? new Date(_data[\"date\"].toString()) : undefined;\r\n if (Array.isArray(_data[\"values\"])) {\r\n this.values = [] as any;\r\n for (let item of _data[\"values\"])\r\n this.values!.push(RevenuePerAssignment.fromJS(item));\r\n }\r\n (this).amountExVat = _data[\"amountExVat\"];\r\n (this).amountInVat = _data[\"amountInVat\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): RevenuePerDay {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RevenuePerDay();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"date\"] = this.date ? this.date.toISOString() : undefined;\r\n if (Array.isArray(this.values)) {\r\n data[\"values\"] = [];\r\n for (let item of this.values)\r\n data[\"values\"].push(item.toJSON());\r\n }\r\n data[\"amountExVat\"] = this.amountExVat;\r\n data[\"amountInVat\"] = this.amountInVat;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IRevenuePerDay {\r\n date?: Date;\r\n values?: RevenuePerAssignment[] | undefined;\r\n amountExVat?: number;\r\n amountInVat?: number;\r\n}\r\n\r\nexport class RevenueWithDescription implements IRevenueWithDescription {\r\n description?: string | undefined;\r\n amount?: number;\r\n\r\n constructor(data?: IRevenueWithDescription) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.description = _data[\"description\"];\r\n this.amount = _data[\"amount\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): RevenueWithDescription {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RevenueWithDescription();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"description\"] = this.description;\r\n data[\"amount\"] = this.amount;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IRevenueWithDescription {\r\n description?: string | undefined;\r\n amount?: number;\r\n}\r\n\r\nexport class RevenuesByDriver implements IRevenuesByDriver {\r\n driverId?: string | undefined;\r\n driverName?: string | undefined;\r\n values?: RevenuePerDay[] | undefined;\r\n readonly totalAmountExVat?: number;\r\n readonly totalAmountInVat?: number;\r\n readonly totalVatAmount?: number;\r\n previousMonthTotalAmountExVat?: number;\r\n percentageChangeTotalAmountExVat?: number;\r\n\r\n constructor(data?: IRevenuesByDriver) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.driverId = _data[\"driverId\"];\r\n this.driverName = _data[\"driverName\"];\r\n if (Array.isArray(_data[\"values\"])) {\r\n this.values = [] as any;\r\n for (let item of _data[\"values\"])\r\n this.values!.push(RevenuePerDay.fromJS(item));\r\n }\r\n (this).totalAmountExVat = _data[\"totalAmountExVat\"];\r\n (this).totalAmountInVat = _data[\"totalAmountInVat\"];\r\n (this).totalVatAmount = _data[\"totalVatAmount\"];\r\n this.previousMonthTotalAmountExVat = _data[\"previousMonthTotalAmountExVat\"];\r\n this.percentageChangeTotalAmountExVat = _data[\"percentageChangeTotalAmountExVat\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): RevenuesByDriver {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RevenuesByDriver();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"driverId\"] = this.driverId;\r\n data[\"driverName\"] = this.driverName;\r\n if (Array.isArray(this.values)) {\r\n data[\"values\"] = [];\r\n for (let item of this.values)\r\n data[\"values\"].push(item.toJSON());\r\n }\r\n data[\"totalAmountExVat\"] = this.totalAmountExVat;\r\n data[\"totalAmountInVat\"] = this.totalAmountInVat;\r\n data[\"totalVatAmount\"] = this.totalVatAmount;\r\n data[\"previousMonthTotalAmountExVat\"] = this.previousMonthTotalAmountExVat;\r\n data[\"percentageChangeTotalAmountExVat\"] = this.percentageChangeTotalAmountExVat;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IRevenuesByDriver {\r\n driverId?: string | undefined;\r\n driverName?: string | undefined;\r\n values?: RevenuePerDay[] | undefined;\r\n totalAmountExVat?: number;\r\n totalAmountInVat?: number;\r\n totalVatAmount?: number;\r\n previousMonthTotalAmountExVat?: number;\r\n percentageChangeTotalAmountExVat?: number;\r\n}\r\n\r\nexport class RevenuesQueryParams implements IRevenuesQueryParams {\r\n driverIds?: string[] | undefined;\r\n statuses?: string[] | undefined;\r\n beforeDate?: Date;\r\n afterDate?: Date;\r\n\r\n constructor(data?: IRevenuesQueryParams) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"driverIds\"])) {\r\n this.driverIds = [] as any;\r\n for (let item of _data[\"driverIds\"])\r\n this.driverIds!.push(item);\r\n }\r\n if (Array.isArray(_data[\"statuses\"])) {\r\n this.statuses = [] as any;\r\n for (let item of _data[\"statuses\"])\r\n this.statuses!.push(item);\r\n }\r\n this.beforeDate = _data[\"beforeDate\"] ? new Date(_data[\"beforeDate\"].toString()) : undefined;\r\n this.afterDate = _data[\"afterDate\"] ? new Date(_data[\"afterDate\"].toString()) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): RevenuesQueryParams {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RevenuesQueryParams();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.driverIds)) {\r\n data[\"driverIds\"] = [];\r\n for (let item of this.driverIds)\r\n data[\"driverIds\"].push(item);\r\n }\r\n if (Array.isArray(this.statuses)) {\r\n data[\"statuses\"] = [];\r\n for (let item of this.statuses)\r\n data[\"statuses\"].push(item);\r\n }\r\n data[\"beforeDate\"] = this.beforeDate ? this.beforeDate.toISOString() : undefined;\r\n data[\"afterDate\"] = this.afterDate ? this.afterDate.toISOString() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IRevenuesQueryParams {\r\n driverIds?: string[] | undefined;\r\n statuses?: string[] | undefined;\r\n beforeDate?: Date;\r\n afterDate?: Date;\r\n}\r\n\r\nexport class RevenuesQueryResult implements IRevenuesQueryResult {\r\n beforeDate?: Date;\r\n afterDate?: Date;\r\n servicePartnerName?: string | undefined;\r\n values?: RevenuesByDriver[] | undefined;\r\n readonly totalAmountExVat?: number;\r\n readonly totalAmountInVat?: number;\r\n readonly totalVatAmount?: number;\r\n previousMonthTotalAmountExVat?: number;\r\n percentageChangeTotalAmountExVat?: number;\r\n\r\n constructor(data?: IRevenuesQueryResult) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.beforeDate = _data[\"beforeDate\"] ? new Date(_data[\"beforeDate\"].toString()) : undefined;\r\n this.afterDate = _data[\"afterDate\"] ? new Date(_data[\"afterDate\"].toString()) : undefined;\r\n this.servicePartnerName = _data[\"servicePartnerName\"];\r\n if (Array.isArray(_data[\"values\"])) {\r\n this.values = [] as any;\r\n for (let item of _data[\"values\"])\r\n this.values!.push(RevenuesByDriver.fromJS(item));\r\n }\r\n (this).totalAmountExVat = _data[\"totalAmountExVat\"];\r\n (this).totalAmountInVat = _data[\"totalAmountInVat\"];\r\n (this).totalVatAmount = _data[\"totalVatAmount\"];\r\n this.previousMonthTotalAmountExVat = _data[\"previousMonthTotalAmountExVat\"];\r\n this.percentageChangeTotalAmountExVat = _data[\"percentageChangeTotalAmountExVat\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): RevenuesQueryResult {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RevenuesQueryResult();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"beforeDate\"] = this.beforeDate ? this.beforeDate.toISOString() : undefined;\r\n data[\"afterDate\"] = this.afterDate ? this.afterDate.toISOString() : undefined;\r\n data[\"servicePartnerName\"] = this.servicePartnerName;\r\n if (Array.isArray(this.values)) {\r\n data[\"values\"] = [];\r\n for (let item of this.values)\r\n data[\"values\"].push(item.toJSON());\r\n }\r\n data[\"totalAmountExVat\"] = this.totalAmountExVat;\r\n data[\"totalAmountInVat\"] = this.totalAmountInVat;\r\n data[\"totalVatAmount\"] = this.totalVatAmount;\r\n data[\"previousMonthTotalAmountExVat\"] = this.previousMonthTotalAmountExVat;\r\n data[\"percentageChangeTotalAmountExVat\"] = this.percentageChangeTotalAmountExVat;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IRevenuesQueryResult {\r\n beforeDate?: Date;\r\n afterDate?: Date;\r\n servicePartnerName?: string | undefined;\r\n values?: RevenuesByDriver[] | undefined;\r\n totalAmountExVat?: number;\r\n totalAmountInVat?: number;\r\n totalVatAmount?: number;\r\n previousMonthTotalAmountExVat?: number;\r\n percentageChangeTotalAmountExVat?: number;\r\n}\r\n\r\nexport class SettlementProposal implements ISettlementProposal {\r\n documentId?: string | undefined;\r\n postingDate?: Date;\r\n amount?: number;\r\n amountInclVat?: number;\r\n\r\n constructor(data?: ISettlementProposal) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.documentId = _data[\"documentId\"];\r\n this.postingDate = _data[\"postingDate\"] ? new Date(_data[\"postingDate\"].toString()) : undefined;\r\n this.amount = _data[\"amount\"];\r\n this.amountInclVat = _data[\"amountInclVat\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SettlementProposal {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SettlementProposal();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"documentId\"] = this.documentId;\r\n data[\"postingDate\"] = this.postingDate ? this.postingDate.toISOString() : undefined;\r\n data[\"amount\"] = this.amount;\r\n data[\"amountInclVat\"] = this.amountInclVat;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISettlementProposal {\r\n documentId?: string | undefined;\r\n postingDate?: Date;\r\n amount?: number;\r\n amountInclVat?: number;\r\n}\r\n\r\nexport class SettlementProposalQueryParams implements ISettlementProposalQueryParams {\r\n sortProperty?: string | undefined;\r\n sortDirection?: string | undefined;\r\n pageIndex?: number;\r\n pageSize?: number;\r\n searchString?: string | undefined;\r\n afterDate?: Date | undefined;\r\n beforeDate?: Date | undefined;\r\n\r\n constructor(data?: ISettlementProposalQueryParams) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.sortProperty = _data[\"sortProperty\"];\r\n this.sortDirection = _data[\"sortDirection\"];\r\n this.pageIndex = _data[\"pageIndex\"];\r\n this.pageSize = _data[\"pageSize\"];\r\n this.searchString = _data[\"searchString\"];\r\n this.afterDate = _data[\"afterDate\"] ? new Date(_data[\"afterDate\"].toString()) : undefined;\r\n this.beforeDate = _data[\"beforeDate\"] ? new Date(_data[\"beforeDate\"].toString()) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): SettlementProposalQueryParams {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SettlementProposalQueryParams();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"sortProperty\"] = this.sortProperty;\r\n data[\"sortDirection\"] = this.sortDirection;\r\n data[\"pageIndex\"] = this.pageIndex;\r\n data[\"pageSize\"] = this.pageSize;\r\n data[\"searchString\"] = this.searchString;\r\n data[\"afterDate\"] = this.afterDate ? this.afterDate.toISOString() : undefined;\r\n data[\"beforeDate\"] = this.beforeDate ? this.beforeDate.toISOString() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISettlementProposalQueryParams {\r\n sortProperty?: string | undefined;\r\n sortDirection?: string | undefined;\r\n pageIndex?: number;\r\n pageSize?: number;\r\n searchString?: string | undefined;\r\n afterDate?: Date | undefined;\r\n beforeDate?: Date | undefined;\r\n}\r\n\r\nexport class SettlementProposalQueryResult implements ISettlementProposalQueryResult {\r\n values?: SettlementProposal[] | undefined;\r\n totals?: number;\r\n pageIndex?: number;\r\n pageSize?: number;\r\n readonly totalPages?: number;\r\n readonly currentFrom?: number;\r\n readonly currentTo?: number;\r\n readonly hasPreviousPage?: boolean;\r\n readonly hasNextPage?: boolean;\r\n\r\n constructor(data?: ISettlementProposalQueryResult) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"values\"])) {\r\n this.values = [] as any;\r\n for (let item of _data[\"values\"])\r\n this.values!.push(SettlementProposal.fromJS(item));\r\n }\r\n this.totals = _data[\"totals\"];\r\n this.pageIndex = _data[\"pageIndex\"];\r\n this.pageSize = _data[\"pageSize\"];\r\n (this).totalPages = _data[\"totalPages\"];\r\n (this).currentFrom = _data[\"currentFrom\"];\r\n (this).currentTo = _data[\"currentTo\"];\r\n (this).hasPreviousPage = _data[\"hasPreviousPage\"];\r\n (this).hasNextPage = _data[\"hasNextPage\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SettlementProposalQueryResult {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SettlementProposalQueryResult();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.values)) {\r\n data[\"values\"] = [];\r\n for (let item of this.values)\r\n data[\"values\"].push(item.toJSON());\r\n }\r\n data[\"totals\"] = this.totals;\r\n data[\"pageIndex\"] = this.pageIndex;\r\n data[\"pageSize\"] = this.pageSize;\r\n data[\"totalPages\"] = this.totalPages;\r\n data[\"currentFrom\"] = this.currentFrom;\r\n data[\"currentTo\"] = this.currentTo;\r\n data[\"hasPreviousPage\"] = this.hasPreviousPage;\r\n data[\"hasNextPage\"] = this.hasNextPage;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISettlementProposalQueryResult {\r\n values?: SettlementProposal[] | undefined;\r\n totals?: number;\r\n pageIndex?: number;\r\n pageSize?: number;\r\n totalPages?: number;\r\n currentFrom?: number;\r\n currentTo?: number;\r\n hasPreviousPage?: boolean;\r\n hasNextPage?: boolean;\r\n}\r\n\r\nexport class Stop implements IStop {\r\n address?: Address;\r\n date?: Date;\r\n dateSpecifier?: string | undefined;\r\n order?: number;\r\n isFirst?: boolean;\r\n isLast?: boolean;\r\n loadOperations?: string[] | undefined;\r\n unloadOperations?: string[] | undefined;\r\n readonly extraStopOrder?: number;\r\n readonly hasLoadOperations?: boolean;\r\n readonly hasUnloadOperations?: boolean;\r\n\r\n constructor(data?: IStop) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.address = _data[\"address\"] ? Address.fromJS(_data[\"address\"]) : undefined;\r\n this.date = _data[\"date\"] ? new Date(_data[\"date\"].toString()) : undefined;\r\n this.dateSpecifier = _data[\"dateSpecifier\"];\r\n this.order = _data[\"order\"];\r\n this.isFirst = _data[\"isFirst\"];\r\n this.isLast = _data[\"isLast\"];\r\n if (Array.isArray(_data[\"loadOperations\"])) {\r\n this.loadOperations = [] as any;\r\n for (let item of _data[\"loadOperations\"])\r\n this.loadOperations!.push(item);\r\n }\r\n if (Array.isArray(_data[\"unloadOperations\"])) {\r\n this.unloadOperations = [] as any;\r\n for (let item of _data[\"unloadOperations\"])\r\n this.unloadOperations!.push(item);\r\n }\r\n (this).extraStopOrder = _data[\"extraStopOrder\"];\r\n (this).hasLoadOperations = _data[\"hasLoadOperations\"];\r\n (this).hasUnloadOperations = _data[\"hasUnloadOperations\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): Stop {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Stop();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"address\"] = this.address ? this.address.toJSON() : undefined;\r\n data[\"date\"] = this.date ? this.date.toISOString() : undefined;\r\n data[\"dateSpecifier\"] = this.dateSpecifier;\r\n data[\"order\"] = this.order;\r\n data[\"isFirst\"] = this.isFirst;\r\n data[\"isLast\"] = this.isLast;\r\n if (Array.isArray(this.loadOperations)) {\r\n data[\"loadOperations\"] = [];\r\n for (let item of this.loadOperations)\r\n data[\"loadOperations\"].push(item);\r\n }\r\n if (Array.isArray(this.unloadOperations)) {\r\n data[\"unloadOperations\"] = [];\r\n for (let item of this.unloadOperations)\r\n data[\"unloadOperations\"].push(item);\r\n }\r\n data[\"extraStopOrder\"] = this.extraStopOrder;\r\n data[\"hasLoadOperations\"] = this.hasLoadOperations;\r\n data[\"hasUnloadOperations\"] = this.hasUnloadOperations;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IStop {\r\n address?: Address;\r\n date?: Date;\r\n dateSpecifier?: string | undefined;\r\n order?: number;\r\n isFirst?: boolean;\r\n isLast?: boolean;\r\n loadOperations?: string[] | undefined;\r\n unloadOperations?: string[] | undefined;\r\n extraStopOrder?: number;\r\n hasLoadOperations?: boolean;\r\n hasUnloadOperations?: boolean;\r\n}\r\n\r\nexport class StringNamedEntity implements IStringNamedEntity {\r\n id?: string | undefined;\r\n value?: string | undefined;\r\n\r\n constructor(data?: IStringNamedEntity) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.value = _data[\"value\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): StringNamedEntity {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new StringNamedEntity();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"value\"] = this.value;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IStringNamedEntity {\r\n id?: string | undefined;\r\n value?: string | undefined;\r\n}\r\n\r\nexport enum TransportStatus {\r\n _SendToApp = 0,\r\n _ConfirmedByDriver = 1,\r\n _InProgress = 2,\r\n _Outsourced = 3,\r\n _Loaded = 4,\r\n _Departed = 5,\r\n _Unloaded = 6,\r\n _Processed = 7,\r\n _Canceled = 8,\r\n _DeadFreight = 9,\r\n _SentShipmentChanged = 10,\r\n}\r\n\r\nexport class UserInfo implements IUserInfo {\r\n name?: string | undefined;\r\n companyName?: string | undefined;\r\n\r\n constructor(data?: IUserInfo) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.name = _data[\"name\"];\r\n this.companyName = _data[\"companyName\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): UserInfo {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UserInfo();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n data[\"companyName\"] = this.companyName;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IUserInfo {\r\n name?: string | undefined;\r\n companyName?: string | undefined;\r\n}\r\n\r\nexport class ValidateResponse implements IValidateResponse {\r\n errorMessage?: string | undefined;\r\n readonly hasError?: boolean;\r\n\r\n constructor(data?: IValidateResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.errorMessage = _data[\"errorMessage\"];\r\n (this).hasError = _data[\"hasError\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ValidateResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ValidateResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"errorMessage\"] = this.errorMessage;\r\n data[\"hasError\"] = this.hasError;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IValidateResponse {\r\n errorMessage?: string | undefined;\r\n hasError?: boolean;\r\n}\r\n\r\nexport interface FileResponse {\r\n data: Blob;\r\n status: number;\r\n fileName?: string;\r\n headers?: { [name: string]: any };\r\n}\r\n\r\nexport class SwaggerException extends Error {\r\n message: string;\r\n status: number;\r\n response: string;\r\n headers: { [key: string]: any; };\r\n result: any;\r\n\r\n constructor(message: string, status: number, response: string, headers: { [key: string]: any; }, result: any) {\r\n super();\r\n\r\n this.message = message;\r\n this.status = status;\r\n this.response = response;\r\n this.headers = headers;\r\n this.result = result;\r\n }\r\n\r\n protected isSwaggerException = true;\r\n\r\n static isSwaggerException(obj: any): obj is SwaggerException {\r\n return obj.isSwaggerException === true;\r\n }\r\n}\r\n\r\nfunction throwException(message: string, status: number, response: string, headers: { [key: string]: any; }, result?: any): any {\r\n if (result !== null && result !== undefined)\r\n throw result;\r\n else\r\n throw new SwaggerException(message, status, response, headers, null);\r\n}\r\n\r\nfunction isAxiosError(obj: any | undefined): obj is AxiosError {\r\n return obj && obj.isAxiosError === true;\r\n}","export class TokenStore {\r\n private static STORAGE_KEY: string = \"token\";\r\n\r\n static getToken() {\r\n return window.localStorage.getItem(TokenStore.STORAGE_KEY);\r\n }\r\n\r\n static setToken(token: string) {\r\n window.localStorage.setItem(TokenStore.STORAGE_KEY, token);\r\n }\r\n\r\n static removeToken(): void {\r\n window.localStorage.removeItem(TokenStore.STORAGE_KEY);\r\n }\r\n}","import React from 'react';\r\nimport './ToastNotification.scss';\r\nimport { toast } from 'react-toastify';\r\n\r\ninterface IProps {\r\n message: string;\r\n}\r\n\r\nexport const showSuccessToast = (message: string) => {\r\n showToast(message, \"success\");\r\n}\r\n\r\nexport const showErrorToast = (message: string) => {\r\n showToast(message, \"error\");\r\n}\r\n\r\nconst showToast = (message: string, type: 'success' | 'warning' | 'error') => {\r\n toast(, { type: type });\r\n}\r\n\r\nexport const ToastNotification = ({ message }: IProps) => {\r\n return (\r\n
\r\n {message}\r\n
\r\n );\r\n}","import { DefaultDateFormat } from \"../constants\";\r\nimport moment from 'moment';\r\nimport { ISortProps, IOption } from \"./Models\";\r\nimport { showErrorToast } from \"../components/common/toast/ToastNotification\";\r\nimport { reject } from \"q\";\r\n\r\nexport function translateSortDirection(sortDirection: string | undefined) : 'ascending' | 'descending' | undefined{\r\n if (sortDirection === undefined){\r\n return undefined;\r\n } else if (sortDirection.toLowerCase().startsWith('asc')) {\r\n return 'ascending';\r\n } else {\r\n return 'descending';\r\n }\r\n}\r\n\r\nexport function nameof(key: keyof T): string {\r\n return key.toString();\r\n}\r\n\r\nexport function isSorted(property: keyof T, {sortDirection, sortProperty}: ISortProps): 'ascending' | 'descending' | undefined {\r\n if (property === sortProperty) {\r\n return translateSortDirection(sortDirection);\r\n }\r\n return undefined;\r\n}\r\n\r\nexport function toDefaultDate(strValue: string): Date {\r\n return moment(strValue, DefaultDateFormat).toDate();\r\n}\r\n\r\nexport function toDefaultStartOfDay(strValue: string): Date {\r\n return moment(strValue, DefaultDateFormat).startOf(\"day\").toDate();\r\n}\r\n\r\nexport function toDefaultEndOfDay(strValue: string): Date {\r\n return moment(strValue, DefaultDateFormat).endOf(\"day\").toDate();\r\n}\r\n\r\nexport function toDefaultFormat(date: Date | undefined): string {\r\n return date ? moment(date, DefaultDateFormat).format(DefaultDateFormat) : '';\r\n}\r\n\r\nexport function toDateAndTimeFormat(date: Date | undefined): string {\r\n return date ? moment(date, 'DD/MM/YYYY HH:mm').format('DD/MM/YYYY (HH:mm)') : '';\r\n}\r\n\r\nexport function empty() {\r\n}\r\n\r\nexport function stringIsNumber(value: string): boolean {\r\n return isNaN(Number(value)) === false;\r\n}\r\n\r\nexport function enumToOptions(enumType: any, translations?: Map): IOption[] {\r\n let output: IOption[] = [];\r\n Object.keys(enumType)\r\n .filter(stringIsNumber)\r\n .forEach(t => output.push({ key: enumType[enumType[t]], text: translations ? translations.get(enumType[enumType[t]]) : enumType[t], value: enumType[t] }));\r\n return output;\r\n}\r\n\r\n// export function enumToOptions(enumType: any, translations?: Map): IOption[] {\r\n// let output: IOption[] = [];\r\n// Object.keys(enumType)\r\n// .filter(stringIsNumber)\r\n// .forEach(t => output.push({ key: enumType[enumType[t]], text: translations ? translations.get(enumType[enumType[t]]) : enumType[t], value: enumType[t] }));\r\n// return output;\r\n// }\r\n\r\nexport function clearNullOrUndefinedValues(obj: T | undefined, type: new() => T): T{\r\n if (!obj){\r\n obj = new type();\r\n }\r\n const x = nonGenericClearNullOrUndefinedValues(obj);\r\n return x as T;\r\n}\r\n\r\nfunction nonGenericClearNullOrUndefinedValues(obj: any | undefined): any {\r\n const n = {...obj};\r\n const tt = Object.entries(n).filter(t => t[1] === null || t[1] === undefined);\r\n tt.forEach(x => n[x[0]] = '');\r\n return n;\r\n}\r\n\r\nexport function pad(num: number, size: number): string {\r\n var s = num+\"\";\r\n while (s.length < size) s = \"0\" + s;\r\n return s;\r\n}\r\n\r\nexport function toOptions(input: string[]) : IOption[]{\r\n return input.map>(t => ({key: t ? t : '', value: t ? t : '', text: t ? t : ''}));\r\n}\r\n\r\nexport function clearCacheAndReloadApplication() {\r\n if (caches) {\r\n caches.keys().then((names) => {\r\n console.log('clearing caches')\r\n for (let name of names) {\r\n caches.delete(name);\r\n }\r\n });\r\n }\r\n console.log('reloading');\r\n window.location.reload(true);\r\n}\r\n\r\nexport async function tryCatchWithLoading(fnc: Promise, setIsLoading: (isLoading: boolean) => void, errorMessage: string = 'An unknown exception occurred at server, please try again'): Promise {\r\n setIsLoading(true);\r\n try {\r\n const x = await fnc;\r\n setIsLoading(false);\r\n return x;\r\n } catch (error) {\r\n showErrorToast(errorMessage);\r\n setIsLoading(false);\r\n return reject();\r\n }\r\n}\r\n\r\nexport async function tryCatch(fnc: Promise, errorMessage: string = 'An unknown exception occurred at server, please try again'): Promise {\r\n return await tryCatchWithLoading(fnc, empty, errorMessage);\r\n}\r\n\r\n","export const DefaultDateFormat = 'DD/MM/YYYY';","import React, { useState } from \"react\";\r\nimport { BrowserRouter, Route } from \"react-router-dom\";\r\nimport { empty } from \"../infrastructure/Utils\";\r\n\r\nexport interface IRouterProps {\r\n history: any;\r\n location: any;\r\n match: any;\r\n activeRoute: string;\r\n navigate: (str: string) => void;\r\n goBack: () => void;\r\n}\r\n\r\nexport const RouterContext = React.createContext({ history: {}, location: {}, match: {}, activeRoute: '', navigate: empty, goBack: empty });\r\n\r\nexport const BrowserRouterProvider = ({ children }: any) => {\r\n const [activeRoute, setActiveRoute] = useState('');\r\n const navigate = (str: string, routeProps: IRouterProps) => {\r\n routeProps.history.push(str);\r\n }\r\n const goBack = (routeProps: IRouterProps) => {\r\n routeProps.history.goBack();\r\n }\r\n return (\r\n \r\n \r\n {(routeProps: IRouterProps) => {\r\n if (activeRoute === '' || activeRoute === null || activeRoute === undefined) {\r\n setActiveRoute(routeProps.location.pathname);\r\n }\r\n routeProps.history.listen((location: any, action: any) => {\r\n setActiveRoute(location.pathname);\r\n });\r\n return (\r\n navigate(str, routeProps),\r\n goBack: () => goBack(routeProps),\r\n }}> \r\n {children}\r\n \r\n );\r\n }\r\n }\r\n \r\n \r\n );\r\n}","export class LanguageStore {\r\n private static STORAGE_KEY: string = \"language\";\r\n\r\n static get() {\r\n return window.localStorage.getItem(LanguageStore.STORAGE_KEY);\r\n }\r\n\r\n static getAndParseToDefault(): 'en' | 'fr' | 'nl' {\r\n const x = LanguageStore.get();\r\n if (x !== 'en' && x !== 'fr' && x !== 'nl') {\r\n return 'nl';\r\n } else {\r\n return x;\r\n }\r\n }\r\n\r\n static set(language: string) {\r\n window.localStorage.setItem(LanguageStore.STORAGE_KEY, language);\r\n }\r\n\r\n static remove(): void {\r\n window.localStorage.removeItem(LanguageStore.STORAGE_KEY);\r\n }\r\n}","import { AxiosInstance, AxiosRequestConfig } from \"axios\";\r\nimport axios from \"axios\";\r\nimport { TokenStore } from \"../infrastructure/TokenStore\";\r\nimport { useContext } from \"react\";\r\nimport { RouterContext, IRouterProps } from \"../context/RouterContext\";\r\nimport * as fromRoutes from \"../routes\";\r\nimport { LanguageStore } from \"../infrastructure/LanguageStore\";\r\nimport { ApiUrl } from \"../keys\";\r\n\r\nexport interface IDownloadClient {\r\n download: (url: string, fileName: string, doOnEnd?: () => void) => void;\r\n}\r\n\r\nexport function useDownloadClient(router: IRouterProps): IDownloadClient {\r\n return {\r\n download: (url, fileName, doOnEnd) => {\r\n let inst = axios.create({ responseType: \"blob\" });\r\n inst.interceptors.request.use(tokenInterceptor, function (error) {\r\n if (doOnEnd) {\r\n doOnEnd();\r\n }\r\n return Promise.reject(error);\r\n });\r\n inst.interceptors.request.use(languageInterceptor, (error) =>\r\n Promise.reject(error)\r\n );\r\n inst.interceptors.response.use(\r\n (response) => response,\r\n (error) => unauthorizedRedirectInterceptor(router, error)\r\n );\r\n inst.get(url).then((response) => {\r\n const url = window.URL.createObjectURL(new Blob([response.data]));\r\n const link = document.createElement(\"a\");\r\n link.href = url;\r\n link.setAttribute(\"download\", fileName);\r\n document.body.appendChild(link);\r\n link.click();\r\n if (doOnEnd) {\r\n doOnEnd();\r\n }\r\n });\r\n },\r\n };\r\n}\r\n\r\nexport function useClient(\r\n type: new (baseUrl?: string, instance?: AxiosInstance) => T\r\n): T {\r\n let inst = axios.create();\r\n const router = useContext(RouterContext);\r\n\r\n inst.interceptors.request.use(tokenInterceptor, function (error) {\r\n return Promise.reject(error);\r\n });\r\n inst.interceptors.request.use(languageInterceptor, (error) =>\r\n Promise.reject(error)\r\n );\r\n inst.interceptors.response.use(\r\n (response) => response,\r\n (error) => unauthorizedRedirectInterceptor(router, error)\r\n );\r\n return new type(ApiUrl, inst);\r\n}\r\n\r\nfunction tokenInterceptor(config: AxiosRequestConfig): AxiosRequestConfig {\r\n const token = TokenStore.getToken();\r\n if (token) {\r\n config.headers.Authorization = `Bearer ${token}`;\r\n }\r\n return config;\r\n}\r\n\r\nfunction unauthorizedRedirectInterceptor(router: any, error: any): any {\r\n if (error && error.response && error.response.status === 401) {\r\n router.history.push(fromRoutes.LoginRoute);\r\n }\r\n return Promise.reject(error);\r\n}\r\n\r\nfunction languageInterceptor(config: AxiosRequestConfig): AxiosRequestConfig {\r\n const language = LanguageStore.get();\r\n if (language) {\r\n config.headers.Language = language;\r\n }\r\n return config;\r\n}\r\n","const DevApiUrl = \"https://localhost:44367\";\r\nexport const ApiUrl = process.env.NODE_ENV === `development` ? DevApiUrl : \"\"; //will be served from same domain!\r\n","import { IRevenue } from \"./gen/ApiClients\";\r\n\r\nexport const LoginRoute = '/login';\r\nexport const ForgotPasswordRoute = '/forgot-password';\r\nexport const DashboardRoute = '/dashboard';\r\nexport const RevenuesRoute = '/revenues';\r\nexport const LeaveOfAbsencesRoute = '/leaveOfAbsences';\r\nexport const FormsRoute = '/forms';\r\nexport const SettingsRoute = '/settings';\r\nexport const SettlementProposalsRoute = '/settlementProposals';\r\nexport const RevenueDetailRoute = '/revenues/:shipmentId';\r\nexport const NotificationsRoute = '/notifications';\r\nexport const CalcRevenueDetailRoute = (inst: IRevenue): string => '/revenues/' + inst.shipmentId;\r\n","import LocalizedStrings from 'react-localization';\r\nimport { IStrings } from './IStrings';\r\nimport { nl } from './Nl';\r\nimport { en } from './En';\r\nimport { fr } from './Fr';\r\n\r\nexport const Strings = new LocalizedStrings({\r\n nl: nl,\r\n fr: fr,\r\n en: en\r\n})","import { IStrings } from './IStrings';\r\n\r\nexport const nl: IStrings = {\r\n add: `Voeg toe`,\r\n addExtra: `Voeg extra toe`,\r\n addLeaveOfAbsence: `Voeg afwezigheid toe`,\r\n addStartersPack: `Voeg starterspakket toe`,\r\n after: `Na`,\r\n all: `Alles`,\r\n amountExVat: `Bedrag (ex. BTW)`,\r\n amountInVat: `Bedrag (in. BTW)`,\r\n assignment: `Opdracht`,\r\n at: `Om`,\r\n backToLogin: `Terug naar login`,\r\n backToOverview: `Terug naar overzicht`,\r\n before: `Voor`,\r\n cancel: `Annuleer`,\r\n canceled: `Geannuleerd`,\r\n coc: `Gedragscode`,\r\n confirmedByDriver: `Bevestigd door chauffeur`,\r\n contactUs: `Contacteer ons.`,\r\n dashboard: `Dashboard`,\r\n date: `Datum`,\r\n deadFreight: `Foutvracht`,\r\n delete: `Verwijderen`,\r\n deleteAll: `Alles verwijderen`,\r\n deleteFilter: `Verwijder filter`,\r\n deleteLeaveOfAbsence: `Afwezigheid verwijderen`,\r\n departed: `Vertrokken`,\r\n description: `Beschrijving`,\r\n dispute: `Betwisten`,\r\n disputeData: `Data betwisten`,\r\n disputeFormSubmitted: `Betwisting ingediend`,\r\n disputes: `Betwistingen`,\r\n download: `Download`,\r\n downloadTrackAndTrace: `Download Track & Trace`,\r\n doYouWantToDeleteThisLeaveOfAbsence: `Wil je deze afwezigheid definitief verwijderen?`,\r\n driver: `Chauffeur`,\r\n driverMobilePhone: `GSM nummer chauffeur`,\r\n drivers: `Chauffeurs`,\r\n endDate: `Einddatum`,\r\n endTime: `Einduur`,\r\n export: `Exporteer`,\r\n extras: `Extras`,\r\n extraStop: `Extra stop`,\r\n exVat: `ex. BTW`,\r\n fileNumber: `Dossiernummer`,\r\n fillIn: `Vul in`,\r\n fillInQuantity: `Vul aantal in`,\r\n filterOn: `Filter op`,\r\n firstStop: `Eerste stop`,\r\n forgotPassword: `Wachtwoord vergeten?`,\r\n forgotPasswordContent: `Stuur een mail met je gebruikersnaam\\nnaar info@eurosprinters.be.\\nNadien krijg je instructies om je wachtwoord te wijzigen.`,\r\n form: `Aanvraag`,\r\n forms: `Aanvragen`,\r\n formSubmitted: `Formulier ingediend`,\r\n hello: `Dag`,\r\n hours: `Uren`,\r\n inProgress: `In Uitvoering`,\r\n internalReference: `Interne referentie`,\r\n invalidCombinationUsernamePassword: `Ongeldige combinatie gebruikersnaam en wachtwoord`,\r\n inVat: `in. BTW`,\r\n isRead: `Gelezen?`,\r\n labelDisputeMessage: `Commentaar`,\r\n lastMonth: `Vorige maand`,\r\n lastStop: `Laatste stop`,\r\n lastWeek: `Vorige week`,\r\n lastYear: `Vorig jaar`,\r\n leaveOfAbsence: `Afwezigheid`,\r\n leaveOfAbsenceAdded: `Afwezigheid toegevoegd`,\r\n leaveOfAbsenceDeleted: `Afwezigheid verwijderd`,\r\n leaveOfAbsenceFormTitle: `Afwezigheid toevoegen`,\r\n load: `Laden`,\r\n loadAndUnloadAddressPlusStops: `Laad- en losadres (+stops)`,\r\n loaded: `Geladen`,\r\n loadFile: `Ophalen data voor dossier {0}`,\r\n login: `Aanmelden`,\r\n loginWelcomeSubtitle: `Meld je aan met je gebruikersnaam en wachtwoord.`,\r\n loginWelcomeTitle: `Welkom partners`,\r\n logOut: `Uitloggen`,\r\n markAsRead: `Markeer als gelezen`,\r\n moreInfo: `Meer info`,\r\n next: `Volgende`,\r\n no: `Nee`,\r\n noAccount: `Geen account`,\r\n none: `Niets`,\r\n noNewNotifications: `Er zijn geen nieuwe meldingen`,\r\n noRevenues: `Geen verdiensten voor deze maand`,\r\n notification: `Melding`,\r\n notificationMarkedAsRead: `Melding gemarkeerd als gelezen`,\r\n notificationMarkedAsUnread: `Melding gemarkeerd als ongelezen`,\r\n notifications: `Meldingen`,\r\n optional: `Optioneel`,\r\n orderClothing: `Bestel kledij`,\r\n outsourced: `Uitbesteed`,\r\n pagingTable: `{0} {1} tot {2} van {3}`,\r\n password: `Wachtwoord`,\r\n previous: `Vorige`,\r\n price: `Prijs`,\r\n processedDrivers: `Operationeel afgehandeld`,\r\n quantity: `Aantal`,\r\n quantityMustBeAnInteger: `Aantal moet een geheel getal zijn`,\r\n quantityMustBeMinimalOne: `Aantal moet minstens 1 zijn`,\r\n read: `Gelezen`,\r\n requestClothing: `Vraag kledij aan`,\r\n revenues: `Verdiensten`,\r\n route: `Route`,\r\n search: `Zoek`,\r\n searchOnTitleOrDescription: `Zoek op titel of beschrijving`,\r\n select: `Selecteer`,\r\n send: `Verzenden`,\r\n sendToApp: `Verstuurd naar app`,\r\n serverError: `Een ongekende fout is opgetreden op de server.\\nGelieve het opnieuw te proberen.\\nAls de fout blijft aanhouden, gelieve Euro-Sprinters te contacteren.`,\r\n settings: `Instellingen`,\r\n settlementProposals: `Afrekeningsvoorstellen`,\r\n size: `Maat`,\r\n sizePolo: `Maat Polo`,\r\n sizeSweatShirt: `Maat Hoodie`,\r\n sizeTShirt: `Maat T-Shirt`,\r\n startDate: `Startdatum`,\r\n startersPackage: `Starterspakket`,\r\n startersPackages: `Starterspakketten`,\r\n startTime: `Startuur`,\r\n startToEndDate: `Startdatum - Einddatum`,\r\n status: `Status`,\r\n successfullyLoggedOut: `Succesvol uitgelogd!`,\r\n tc: `Algemene voorwaarden`,\r\n thisMonth: `Deze maand`,\r\n thisWeek: `Deze week`,\r\n thisYear: `Dit jaar`,\r\n title: `Titel`,\r\n today: `Vandaag`,\r\n total: `Totaal`,\r\n totalRevenues: `Totaal verdiensten`,\r\n toTimeMustBeLargerThanFromTime: `Einduur moet later zijn dan startuur`,\r\n unload: `Lossen`,\r\n unloaded: `Gelost`,\r\n unread: `Niet gelezen`,\r\n upForToday: `dit gebeurt er vandaag!`,\r\n userName: `Gebruikersnaam`,\r\n validateDate: `Selecteer datum`,\r\n validateDisputeMessage: `Vul commentaar in`,\r\n validateFromDate: `Selecteer startdatum`,\r\n validateFromTime: `Selecteer startuur`,\r\n validatePassword: `Vul jouw wachtwoord in`,\r\n validateSelectDriver: `Selecteer een chauffeur`,\r\n validateToDate: `Selecteer einddatum`,\r\n validateToTime: `Selecteer einduur`,\r\n validateUsername: `Vul jouw gebruikersnaam in`,\r\n vat: `BTW`,\r\n vehicle: `Voertuig`,\r\n viewAll: `Bekijk alle`,\r\n viewPrintVersion: `Bekijk printversie`,\r\n viewWebVersion: `Bekijk web`,\r\n wholeDay: `Volledige dag`,\r\n yes: `Ja`,\r\n yesDelete: `Ja, verwijder`,\r\n yesterday: `Gisteren`,\r\n yourRevenuesThisMonth: `Jouw verdiensten van deze maand`,\r\n}\r\n","import { IStrings } from './IStrings';\r\n\r\nexport const fr: IStrings = {\r\n add: `Ajouter`,\r\n addExtra: `Ajouter extra`,\r\n addLeaveOfAbsence: `Ajouter une absence`,\r\n addStartersPack: `Ajouter un kit de démarrage`,\r\n after: `Après`,\r\n all: `Tout`,\r\n amountExVat: `Montant (hors TVA)`,\r\n amountInVat: `Montant (ttc)`,\r\n assignment: `Cession`,\r\n at: `A`,\r\n backToLogin: `Retour au login`,\r\n backToOverview: `Retour à l'aperçu`,\r\n before: `Devat/Avant`,\r\n cancel: `Annuler`,\r\n canceled: `Annulé`,\r\n coc: `code de conduite`,\r\n confirmedByDriver: `Confirmé par le chauffeur`,\r\n contactUs: `Nous contacter`,\r\n dashboard: `Dashboard`,\r\n date: `Date`,\r\n deadFreight: `Erreur de fret`,\r\n delete: `Supprimer`,\r\n deleteAll: `Supprimer tout`,\r\n deleteFilter: `Supprimer les filtres`,\r\n deleteLeaveOfAbsence: `Supprimer l'absence`,\r\n departed: `Vertrokken`,\r\n description: `Descritption`,\r\n dispute: `Pa sD'accord`,\r\n disputeData: `Données de contestation`,\r\n disputeFormSubmitted: `Litige soumis`,\r\n disputes: `Litiges`,\r\n download: `Télécharger`,\r\n downloadTrackAndTrace: `Télécharger Track & Trace`,\r\n doYouWantToDeleteThisLeaveOfAbsence: `Voulez-vous supprimer définitevement cette absence?`,\r\n driver: `Chauffeur`,\r\n driverMobilePhone: `Numéro de gsm chauffeur`,\r\n drivers: `Chauffeurs`,\r\n endDate: `Date de fin`,\r\n endTime: `Heure de fin`,\r\n export: `Exporter`,\r\n extras: `Extras`,\r\n extraStop: `Arrêt supplémentaire`,\r\n exVat: `hors TVA`,\r\n fileNumber: `Numéro du dossier`,\r\n fillIn: `Remplir`,\r\n fillInQuantity: `Remplir le numéro`,\r\n filterOn: `Filtrer par`,\r\n firstStop: `Premier arrêt`,\r\n forgotPassword: `Mot de passe oublié?`,\r\n forgotPasswordContent: `Stuur een mail met je gebruikersnaam\\nnaar info@eurosprinters.be.\\nNadien krijg je instructies om je wachtwoord te wijzigen.`,\r\n form: `Demande`,\r\n forms: `Appliquer`,\r\n formSubmitted: `Formulaire soumis`,\r\n hello: `Bonjour`,\r\n hours: `Heures`,\r\n inProgress: `En cours`,\r\n internalReference: `Référence interne`,\r\n invalidCombinationUsernamePassword: `Combinaison nom d'utilisateur / mot de passe invalide`,\r\n inVat: `ttc`,\r\n isRead: `Lire?`,\r\n labelDisputeMessage: `Commentaires`,\r\n lastMonth: `Mois passé`,\r\n lastStop: `Dernier stop`,\r\n lastWeek: `Semaine passée`,\r\n lastYear: `L'année dernière`,\r\n leaveOfAbsence: `Absence`,\r\n leaveOfAbsenceAdded: `Absence ajoutée`,\r\n leaveOfAbsenceDeleted: `Absence supprimée`,\r\n leaveOfAbsenceFormTitle: `Ajouter l'absence`,\r\n load: `Chargement`,\r\n loadAndUnloadAddressPlusStops: `Adresse de chargement et de déchargement (+ stop)`,\r\n loaded: `Chargé`,\r\n loadFile: `Récupérer des données pour le dossier {0}`,\r\n login: `S'inscrire`,\r\n loginWelcomeSubtitle: `Connectez-vous avec votre nom d'utilisateur et votre mot de passe`,\r\n loginWelcomeTitle: `Bienvenu partenaires`,\r\n logOut: `Deconnexion`,\r\n markAsRead: `Marquer comme lu`,\r\n moreInfo: `Plus d'informations`,\r\n next: `Suivant`,\r\n no: `Non`,\r\n noAccount: `Aucun compte`,\r\n none: `Rien`,\r\n noNewNotifications: `Il n'y a pas de nouvelles notifications`,\r\n noRevenues: `No earnings for this month`,\r\n notification: `Message`,\r\n notificationMarkedAsRead: `Message marqué comme lu`,\r\n notificationMarkedAsUnread: `Message marqué comme non lu`,\r\n notifications: `Notifications`,\r\n optional: `Facultatif`,\r\n orderClothing: `Commander des vêtements`,\r\n outsourced: `Sous-traité`,\r\n pagingTable: `{0} {1} à {2} à partir {3}`,\r\n password: `Mot de passe oublié?`,\r\n previous: `Précédent`,\r\n price: `Prix`,\r\n processedDrivers: `Opérationnel effectué`,\r\n quantity: `Nombre`,\r\n quantityMustBeAnInteger: `Le nombre doit être un nombre entier`,\r\n quantityMustBeMinimalOne: `La quantité doit être au minimum 1`,\r\n read: `Lire?`,\r\n requestClothing: `Demander des vêtements`,\r\n revenues: `Les gains`,\r\n route: `Route`,\r\n search: `Recherche`,\r\n searchOnTitleOrDescription: `Recherche par titre ou description`,\r\n select: `Sélectionner`,\r\n send: `Expédier`,\r\n sendToApp: `Envoyé à l'app`,\r\n serverError: `Une erreur inconnue est survenue sur le serveur. Veuillez réessayer. Si l'erreur persiste, veuillez contacter Euro-Sprinters.`,\r\n settings: `Paramètres`,\r\n settlementProposals: `Settlement Proposals`,\r\n size: `Taille`,\r\n sizePolo: `Taille Polo`,\r\n sizeSweatShirt: `Taille sweat`,\r\n sizeTShirt: `TailleT-Shirt`,\r\n startDate: `Date de début`,\r\n startersPackage: `Forfait de départ`,\r\n startersPackages: `Forfaits de départ`,\r\n startTime: `Heure de début`,\r\n startToEndDate: `Date de début - date de fin`,\r\n status: `Statut`,\r\n successfullyLoggedOut: `Déconnecté avec succès!`,\r\n tc: `Conditions générales`,\r\n thisMonth: `Ce mois`,\r\n thisWeek: `Cette semaine`,\r\n thisYear: `Cette année`,\r\n title: `Titre`,\r\n today: `Aujourd'hui`,\r\n total: `Total`,\r\n totalRevenues: `Total des gains`,\r\n toTimeMustBeLargerThanFromTime: `L'heure de fin doit être postérieur à l'heure de début`,\r\n unload: `Décharger`,\r\n unloaded: `Déchargé`,\r\n unread: `Pas lu`,\r\n upForToday: `cela se passe aujourd'hui!`,\r\n userName: `Nom d'utilisateur`,\r\n validateDate: `Sélectionnez la date/l'heure`,\r\n validateDisputeMessage: `Entrez un commentaire`,\r\n validateFromDate: `Sélectionnez une date de début`,\r\n validateFromTime: `Sélectionnez une heure de début`,\r\n validatePassword: `Entrez votre mot de passe`,\r\n validateSelectDriver: `Sélectionnez un chauffeur`,\r\n validateToDate: `Sélectionnez la date de fin`,\r\n validateToTime: `Sélectionnez l'heure de fin`,\r\n validateUsername: `Entrez votre nom d'utilisateur`,\r\n vat: `TVA`,\r\n vehicle: `Véhicule`,\r\n viewAll: `Voir tout`,\r\n viewPrintVersion: `Voire print`,\r\n viewWebVersion: `Voire web`,\r\n wholeDay: `Journée complète`,\r\n yes: `Oui`,\r\n yesDelete: `Oui, supprimer`,\r\n yesterday: `Hier`,\r\n yourRevenuesThisMonth: `Vos gains ce mois-ci`,\r\n}\r\n","import { IStrings } from './IStrings';\r\n\r\nexport const en: IStrings = {\r\n add: `Add`,\r\n addExtra: `Add extra`,\r\n addLeaveOfAbsence: `Add leave of absence`,\r\n addStartersPack: `Add starters pack`,\r\n after: `After`,\r\n all: `All`,\r\n amountExVat: `Amount (VAT excl.)`,\r\n amountInVat: `Amount (VAT incl.)`,\r\n assignment: `Assignment`,\r\n at: `At`,\r\n backToLogin: `Back to login`,\r\n backToOverview: `Back to overview`,\r\n before: `Before`,\r\n cancel: `Cancel`,\r\n canceled: `Canceled`,\r\n coc: `Code of conduct`,\r\n confirmedByDriver: `Confirmed by driver`,\r\n contactUs: `Contact us.`,\r\n dashboard: `Dashboard`,\r\n date: `Date`,\r\n deadFreight: `Dead freight`,\r\n delete: `Delete`,\r\n deleteAll: `Delete all`,\r\n deleteFilter: `Delete filter`,\r\n deleteLeaveOfAbsence: `Delete leave of absence`,\r\n departed: `Departed`,\r\n description: `Description`,\r\n dispute: `Dispute`,\r\n disputeData: `Dispute data`,\r\n disputeFormSubmitted: `Dispute submitted`,\r\n disputes: `Disputes`,\r\n download: `Download`,\r\n downloadTrackAndTrace: `Download Track & Trace`,\r\n doYouWantToDeleteThisLeaveOfAbsence: `Do you want to delete this leave of absence?`,\r\n driver: `Driver`,\r\n driverMobilePhone: `Mobile phone driver`,\r\n drivers: `Drivers`,\r\n endDate: `End date`,\r\n endTime: `End time`,\r\n export: `Export`,\r\n extras: `Extras`,\r\n extraStop: `Extra stop`,\r\n exVat: `VAT excl.`,\r\n fileNumber: `Order number`,\r\n fillIn: `Fill in`,\r\n fillInQuantity: `Fill in quantity`,\r\n filterOn: `Filter on`,\r\n firstStop: `First stop`,\r\n forgotPassword: `Forgot password?`,\r\n forgotPasswordContent: `Send an email with your username to\\ninfo@eurosprinters.be.\\nYou'll get instructions to reset your password afterwards.`,\r\n form: `Form`,\r\n forms: `Forms`,\r\n formSubmitted: `Form submitted`,\r\n hello: `Hello`,\r\n hours: `Hours`,\r\n inProgress: `In progress`,\r\n internalReference: `Internal reference`,\r\n invalidCombinationUsernamePassword: `Invalid combination username and password`,\r\n inVat: `VAT incl.`,\r\n isRead: `Read?`,\r\n labelDisputeMessage: `Comments`,\r\n lastMonth: `Last month`,\r\n lastStop: `Last stop`,\r\n lastWeek: `Last week`,\r\n lastYear: `Last year`,\r\n leaveOfAbsence: `Leave of absence`,\r\n leaveOfAbsenceAdded: `Leave of absence added`,\r\n leaveOfAbsenceDeleted: `Leave of absence deleted`,\r\n leaveOfAbsenceFormTitle: `Add leave of absence`,\r\n load: `Load`,\r\n loadAndUnloadAddressPlusStops: `Loading- and unloading address (+ stops)`,\r\n loaded: `Loaded`,\r\n loadFile: `Load data for file {0}`,\r\n login: `Login`,\r\n loginWelcomeSubtitle: `Login with your username and password`,\r\n loginWelcomeTitle: `Welcome partners`,\r\n logOut: `Log out`,\r\n markAsRead: `Mark as read`,\r\n moreInfo: `More info`,\r\n next: `Next`,\r\n no: `No`,\r\n noAccount: `No account`,\r\n none: `None`,\r\n noNewNotifications: `There are no new notifications`,\r\n noRevenues: `Pas de mérite pour ce mois`,\r\n notification: `Notification`,\r\n notificationMarkedAsRead: `Notification marked as read`,\r\n notificationMarkedAsUnread: `Notification marked as unread`,\r\n notifications: `Notifications`,\r\n optional: `Optional`,\r\n orderClothing: `Order clothing`,\r\n outsourced: `Outsourced`,\r\n pagingTable: `{0} {1} until {2} from {3}`,\r\n password: `Password`,\r\n previous: `Previous`,\r\n price: `Price`,\r\n processedDrivers: `Operational handled`,\r\n quantity: `Quantity`,\r\n quantityMustBeAnInteger: `Quantity must be a round number`,\r\n quantityMustBeMinimalOne: `Quantity must be minimal one`,\r\n read: `Read`,\r\n requestClothing: `Request clothing`,\r\n revenues: `Revenues`,\r\n route: `Route`,\r\n search: `Search`,\r\n searchOnTitleOrDescription: `Search on title or description`,\r\n select: `Select`,\r\n send: `Send`,\r\n sendToApp: `Send to app`,\r\n serverError: `An unknown error has occured. Please try again. If this error returns, please contact Euro-Sprinters!`,\r\n settings: `Settings`,\r\n settlementProposals: `Settlement Proposals`,\r\n size: `Size`,\r\n sizePolo: `Size polo`,\r\n sizeSweatShirt: `Size hoodie`,\r\n sizeTShirt: `Size t-shirt`,\r\n startDate: `Start date`,\r\n startersPackage: `Starters package`,\r\n startersPackages: `Starters packages`,\r\n startTime: `Start time`,\r\n startToEndDate: `Start date - end date`,\r\n status: `Status`,\r\n successfullyLoggedOut: `Successfully logged out!`,\r\n tc: `Terms and conditions`,\r\n thisMonth: `This month`,\r\n thisWeek: `This week`,\r\n thisYear: `This year`,\r\n title: `Title`,\r\n today: `Today`,\r\n total: `Total`,\r\n totalRevenues: `Total revenues`,\r\n toTimeMustBeLargerThanFromTime: `The end time must me later than the start time`,\r\n unload: `Unload`,\r\n unloaded: `Unloaded`,\r\n unread: `Unread`,\r\n upForToday: `this is happening today!`,\r\n userName: `Username`,\r\n validateDate: `Select date`,\r\n validateDisputeMessage: `Fill in comment`,\r\n validateFromDate: `Select start date`,\r\n validateFromTime: `Select start time`,\r\n validatePassword: `Fill in your password`,\r\n validateSelectDriver: `Select a driver`,\r\n validateToDate: `Select end date`,\r\n validateToTime: `Select end time`,\r\n validateUsername: `Fill in your username`,\r\n vat: `VAT`,\r\n vehicle: `Vehicle`,\r\n viewAll: `View all`,\r\n viewPrintVersion: `View print`,\r\n viewWebVersion: `View web`,\r\n wholeDay: `Whole day`,\r\n yes: `Yes`,\r\n yesDelete: `Yes, delete`,\r\n yesterday: `Yesterday`,\r\n yourRevenuesThisMonth: `Your revenues this month`,\r\n}\r\n","import React, { useState, useEffect } from 'react';\r\nimport { empty } from '../infrastructure/Utils';\r\nimport { LanguageStore } from '../infrastructure/LanguageStore';\r\nimport { Strings } from '../localization/Strings';\r\nimport { IStrings } from '../localization/IStrings';\r\n\r\n// documentation: \r\n// https://github.com/stefalda/react-localization#readme\r\n\r\ninterface IProps {\r\n strings: IStrings;\r\n setLanguage: (lang: 'en' | 'nl' | 'fr') => void;\r\n getLanguage: () => 'en' | 'nl' | 'fr';\r\n formatString: (key: keyof IStrings, ...values: any) => string;\r\n}\r\n\r\nconst fallback: IProps = {\r\n strings: Strings,\r\n setLanguage: empty,\r\n getLanguage: () => 'en',\r\n formatString: () => '',\r\n}\r\n\r\nexport const LocalizationContext = React.createContext(fallback);\r\n\r\nexport const LocalizationProvider = ({ children }: any) => {\r\n const [language, setLanguage] = useState<('en' | 'nl' | 'fr')>(LanguageStore.getAndParseToDefault());\r\n\r\n useEffect(() => {\r\n Strings.setLanguage(language);\r\n }, [language]);\r\n\r\n const overrideSetLanguage = (lang: 'en' | 'nl' | 'fr') => {\r\n setLanguage(lang);\r\n Strings.setLanguage(lang);\r\n LanguageStore.set(lang);\r\n }\r\n const getLanguage = (): \"en\" | \"fr\" | \"nl\" => {\r\n const x = Strings.getLanguage();\r\n if (x !== \"en\" && x !== \"nl\" && x !== \"fr\"){\r\n return \"en\";\r\n } else {\r\n return x;\r\n }\r\n }\r\n function formatString(str: keyof IStrings, ...values: Array) : string {\r\n return Strings.formatString(Strings[str], ...values).toString();\r\n }\r\n\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n}\r\n","import { useContext } from \"react\";\r\nimport { LocalizationContext } from \"../context/LocalizationContext\";\r\nimport { IStrings } from \"../localization/IStrings\";\r\n\r\nexport interface IStringsWithFormat extends IStrings {\r\n formatString: (key: keyof IStrings, ...val: Array) => string;\r\n}\r\n\r\nexport function useLocalizationContext(): IStringsWithFormat {\r\n const context = useContext(LocalizationContext);\r\n return {...context.strings, formatString: context.formatString};\r\n}","import React, { useState, useEffect, useContext } from 'react';\r\nimport { UserClient, IUserInfo } from '../gen/ApiClients';\r\nimport { TokenStore } from '../infrastructure/TokenStore';\r\nimport { useClient } from '../hooks/useClient';\r\nimport { RouterContext } from './RouterContext';\r\nimport * as fromRoutes from '../routes';\r\nimport { showSuccessToast } from '../components/common/toast/ToastNotification';\r\nimport { useLocalizationContext } from '../hooks/useLocalizationContext';\r\n\r\ninterface AuthenticationProps {\r\n hasToken: boolean,\r\n user: IUserInfo | undefined,\r\n login: (token: string) => void,\r\n logout: () => void,\r\n}\r\n\r\nconst inititalState: AuthenticationProps = {\r\n hasToken: false,\r\n user: undefined,\r\n login: () => { },\r\n logout: () => { },\r\n}\r\n\r\nexport const AuthContext = React.createContext(inititalState);\r\n\r\nexport const AuthProvider = (props: any) => {\r\n const [user, setUser] = useState();\r\n const client = useClient(UserClient);\r\n const routerContext = useContext(RouterContext);\r\n const locContext = useLocalizationContext();\r\n\r\n useEffect(() => {\r\n loadUser();\r\n }, \r\n // eslint-disable-next-line\r\n []);\r\n\r\n const login = async (token: string) => {\r\n if (TokenStore.getToken() !== token) {\r\n TokenStore.setToken(token);\r\n }\r\n await loadUser();\r\n }\r\n\r\n const logout = () => {\r\n TokenStore.removeToken();\r\n setUser(undefined);\r\n routerContext.navigate(fromRoutes.LoginRoute);\r\n showSuccessToast(locContext.successfullyLoggedOut);\r\n }\r\n\r\n const loadUser = async () => {\r\n try {\r\n const user = await client.info();\r\n setUser(user);\r\n } catch (error) {\r\n console.log(error);\r\n setUser(undefined);\r\n TokenStore.removeToken();\r\n }\r\n }\r\n\r\n return (\r\n \r\n {props.children}\r\n \r\n );\r\n}\r\n","interface IProps{\r\n className?: string;\r\n}\r\n\r\nexport function useCombineClassNames(className: string, props: IProps | undefined) : string {\r\n if (props && props.className){\r\n return `${className} ${props.className}`;\r\n }\r\n return className;\r\n}","import React from 'react';\r\nimport { useCombineClassNames } from '../../../hooks/useCombineClassNames';\r\nimport { Loader } from 'semantic-ui-react';\r\nimport './PrimaryButton.scss';\r\n\r\ninterface IProps extends React.DetailedHTMLProps, HTMLButtonElement> {\r\n outline?: boolean;\r\n small?: boolean;\r\n noStretch?: boolean;\r\n rectanglePadding?: boolean;\r\n showLoader?: boolean;\r\n}\r\n\r\nexport const PrimaryButton = ({ children, outline = false, small = false, noStretch = false, rectanglePadding = false, showLoader = false, ...rest }: IProps) => {\r\n const className = useCombineClassNames(`primary-button${outline ? ' outline' : ''}${small ? ' small' : ''}${noStretch ? '' : ' stretch'}${rectanglePadding ? ' rectangle-padding' : ''}`, rest);\r\n return (\r\n // type=\"button\" before {...rest} -> so can override this behaviour\r\n \r\n );\r\n}","import React from 'react';\r\nimport { useCombineClassNames } from '../../../hooks/useCombineClassNames';\r\nimport './TextLinkButton.scss';\r\n\r\ninterface IProps extends React.DetailedHTMLProps, HTMLButtonElement> {\r\n underline?: boolean;\r\n gray?: boolean;\r\n small?: boolean;\r\n extraSmall?: boolean;\r\n}\r\n\r\nexport const TextLinkButton = ({ children, underline = false, gray = false, small = false, extraSmall = false, ...rest }: IProps) => {\r\n const className = useCombineClassNames(`text-link-button${gray ? ' tlb-gray' : ''}${underline ? ' tlb-underline' : ''}${small ? ' tlb-small' : ''}${extraSmall ? ' tlb-extra-small' : ''}`, rest);\r\n return (\r\n // type=\"button\" before {...rest} -> so can override this behaviour\r\n \r\n );\r\n}","import React from 'react';\r\nimport { useCombineClassNames } from '../../../hooks/useCombineClassNames';\r\nimport './FormDialog.scss';\r\n\r\ninterface IProps extends React.HTMLProps{\r\n}\r\n\r\nexport const FormDialog = ({children, ...rest}: IProps) => {\r\n return (\r\n
\r\n {children}\r\n
\r\n );\r\n}","import { FormikProps, FormikActions } from 'formik';\r\n\r\nexport function setFieldTouched(str: keyof T, props: FormikProps | FormikActions){\r\n props.setFieldTouched(str.toString());\r\n}\r\nexport function setFieldError(str: keyof T, message: string, props: FormikActions){\r\n props.setFieldError(str.toString(), message);\r\n}\r\n","import React from 'react';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { IconProp } from '@fortawesome/fontawesome-svg-core';\r\nimport { useCombineClassNames } from '../../../hooks/useCombineClassNames';\r\nimport { Popup, Responsive } from 'semantic-ui-react';\r\nimport './IconButton.scss';\r\n\r\nexport interface IIconButtonProps extends React.DetailedHTMLProps, HTMLButtonElement> {\r\n color?: 'success' | 'warning' | 'error' | 'gray';\r\n popupText?: string;\r\n size?: 'normal' | 'large' | 'very-large';\r\n}\r\n\r\ninterface IProps extends IIconButtonProps {\r\n icon: IconProp;\r\n}\r\n\r\nexport const IconButton = ({ icon, size = 'normal', color = undefined, popupText = undefined, ...rest }: IProps) => {\r\n const className = useCombineClassNames(`icon-button ${size} ${color}`, rest);\r\n const renderInner = () => {\r\n return (\r\n \r\n );\r\n }\r\n if (popupText) {\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n {renderInner()}\r\n \r\n
\r\n );\r\n }\r\n return renderInner();\r\n}","import React from 'react';\r\nimport { IconProp } from '@fortawesome/fontawesome-svg-core';\r\nimport { IconButton, IIconButtonProps } from './IconButton';\r\n\r\ninterface IProps extends IIconButtonProps{\r\n trueIcon: IconProp;\r\n falseIcon: IconProp;\r\n checked: boolean;\r\n toggle: (e: any) => void;\r\n}\r\n\r\nexport const ToggleIconButton = ({trueIcon, falseIcon, checked, toggle, ...rest}: IProps) => {\r\n return (\r\n checked ? \r\n \r\n : \r\n );\r\n}","import React from 'react';\r\nimport { ErrorMessage } from 'formik';\r\nimport { useCombineClassNames } from '../../../hooks/useCombineClassNames';\r\nimport { nameof } from '../../../infrastructure/Utils';\r\nimport './FieldGroup.scss';\r\nimport { useLocalizationContext } from '../../../hooks/useLocalizationContext';\r\n\r\n// export interface IFieldGroupProps extends React.HTMLProps {\r\n// xName: keyof T;\r\n// label: string;\r\n// noMargin?: boolean;\r\n// optional?: boolean;\r\n// xNames?: Array;\r\n// }\r\n\r\nexport interface IFieldGroupProps {\r\n xName: keyof T;\r\n label: string;\r\n noMargin?: boolean;\r\n optional?: boolean;\r\n xNames?: Array;\r\n children?: React.ReactNode;\r\n className?: string;\r\n placeholder?: string;\r\n}\r\n\r\nexport function FieldGroup({ xName, label, noMargin = false, children, optional = false, xNames = undefined, ...rest }: IFieldGroupProps) {\r\n const locContext = useLocalizationContext();\r\n const className = useCombineClassNames(`field-group${noMargin ? ' no-margin' : ''}`, rest);\r\n return (\r\n
\r\n
\r\n \r\n {optional ?
{locContext.optional.toLowerCase()}
: null}\r\n
\r\n {children}\r\n {xNames ?\r\n
\r\n {xNames.map(t => )}\r\n
\r\n :\r\n \r\n }\r\n
\r\n );\r\n}\r\n","import React, { useState } from 'react';\r\nimport { Field } from 'formik';\r\nimport { ToggleIconButton } from '../buttons/ToggleIconButton';\r\nimport { FieldGroup, IFieldGroupProps } from './FieldGroup';\r\nimport './PasswordField.scss';\r\n\r\n// export const PasswordField = (props: IFieldGroupProps) => {\r\nexport function PasswordField(props: IFieldGroupProps) {\r\n const [isShowPassword, setIsShowPassword] = useState(false);\r\n\r\n const toggleShowPassword = (e: any) => {\r\n e.preventDefault();\r\n setIsShowPassword(!isShowPassword);\r\n }\r\n\r\n return (\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n );\r\n}","var _style, _g, _g2, _g3, _g4;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgLogo = function SvgLogo(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Calque_1\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 566.93 566.93\",\n style: {\n enableBackground: \"new 0 0 566.93 566.93\"\n },\n xmlSpace: \"preserve\",\n width: 60,\n height: 60,\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _style || (_style = /*#__PURE__*/React.createElement(\"style\", {\n type: \"text/css\"\n }, \"\\r\\n\\t.st0{fill:#E4191F;}\\r\\n\\t.st1{fill:#FFFFFF;}\\r\\n\\t.st2{fill:#E5261B;}\\r\\n\")), _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"rect\", {\n x: 0.04,\n y: -0.42,\n className: \"st0\",\n width: 566.93,\n height: 567.84\n }))), _g2 || (_g2 = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"polygon\", {\n className: \"st1\",\n points: \"71.31,439.09 86.74,439.09 86.74,430.64 71.31,430.64 71.31,415.24 88.26,415.24 88.26,405.28 59.25,405.28 59.25,464.6 88.61,464.6 88.61,456.56 71.31,456.56 \"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M117.36,456.77c-0.74,0.11-1.58,0.21-2.53,0.3c-0.95,0.09-1.84,0.13-2.68,0.13c-2.74,0-4.6-0.91-5.6-2.74 c-1-1.83-1.5-4.79-1.5-8.9v-26.72H93.3v25.82c0,3.08,0.29,5.91,0.87,8.48c0.58,2.57,1.55,4.78,2.92,6.63 c1.37,1.86,3.22,3.3,5.56,4.32c2.34,1.03,5.27,1.54,8.8,1.54c3.47,0,6.79-0.27,9.94-0.81c3.16-0.54,5.73-1.13,7.73-1.76v-44.23 h-11.75V456.77z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M156.32,418.26c-0.73-0.2-1.47-0.37-2.2-0.51c-0.73-0.14-1.47-0.26-2.2-0.34c-0.73-0.09-2.06-0.15-2.57-0.15 c-2.89,0-5.02,0.65-7.37,1.36c-2.35,0.71-4.39,1.47-6.11,2.27v43.71h10.48v-39.16c0.43-0.17,0.22-0.33,1.07-0.47 c0.84-0.14,1.56-0.21,2.17-0.21c1.34,0,2.59,0.16,3.75,0.47c1.16,0.31,2.18,0.61,3.04,0.9l1.82-7.13 C157.68,418.71,157.05,418.46,156.32,418.26z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M317.44,417.75c-0.73-0.14-1.46-0.26-2.2-0.34c-0.73-0.09-2.06-0.15-2.57-0.15c-2.89,0-5.02,0.65-7.37,1.36 c-2.35,0.71-4.39,1.47-6.11,2.27v43.71h10.48v-39.16c0.43-0.17,0.22-0.33,1.07-0.47c0.84-0.14,1.56-0.21,2.17-0.21 c1.34,0,2.59,0.16,3.75,0.47c1.16,0.31,2.18,0.61,3.04,0.9l1.82-7.13c-0.52-0.29-1.14-0.53-1.88-0.73 C318.91,418.06,318.18,417.89,317.44,417.75z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M469.39,417.75c-0.73-0.14-1.47-0.26-2.2-0.34c-0.73-0.09-2.06-0.15-2.57-0.15c-2.89,0-5.02,0.65-7.37,1.36 c-2.35,0.71-4.39,1.47-6.11,2.27v43.71h10.48v-39.16c0.43-0.17,0.22-0.33,1.07-0.47c0.84-0.14,1.56-0.21,2.17-0.21 c1.34,0,2.59,0.16,3.75,0.47c1.16,0.31,2.18,0.61,3.04,0.9l1.82-7.13c-0.52-0.29-1.14-0.53-1.88-0.73 C470.85,418.06,470.12,417.89,469.39,417.75z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M190.71,424.2c-1.72-2.09-3.78-3.71-6.18-4.87c-2.4-1.16-5.04-1.74-7.92-1.74c-2.83,0-5.45,0.58-7.85,1.74 c-2.4,1.16-4.47,2.78-6.22,4.87c-1.74,2.09-3.11,4.61-4.09,7.57c-0.99,2.96-1.48,6.24-1.48,9.83c0,3.6,0.48,6.89,1.44,9.88 c0.96,2.99,2.3,5.54,4.02,7.66c1.72,2.12,3.78,3.76,6.18,4.92c2.4,1.16,5.06,1.74,8,1.74c2.98,0,5.67-0.58,8.07-1.74 c2.4-1.16,4.46-2.8,6.18-4.92c1.72-2.12,3.03-4.67,3.94-7.66c0.91-2.99,1.36-6.28,1.36-9.88c0-3.6-0.48-6.88-1.44-9.83 C193.76,428.81,192.42,426.29,190.71,424.2z M182.56,452.66c-1.39,2.86-3.37,4.29-5.95,4.29c-2.58,0-4.57-1.43-5.99-4.29 c-1.41-2.86-2.12-6.73-2.12-11.6c0-4.87,0.71-8.7,2.12-11.49c1.41-2.79,3.41-4.18,5.99-4.18c2.58,0,4.56,1.4,5.95,4.18 c1.39,2.79,2.08,6.62,2.08,11.49C184.64,445.94,183.95,449.8,182.56,452.66z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M289.25,423.93c-1.81-2.11-4.03-3.74-6.66-4.9c-2.63-1.16-5.63-1.74-8.99-1.74c-1.39,0-2.85,0.08-4.38,0.22 c-1.52,0.15-3.02,0.34-4.49,0.58c-1.47,0.24-2.88,0.52-4.22,0.85c-1.34,0.33-2.53,0.67-3.56,1.02v61.72h11.54v-17.64 c22.3,6.25,26.33-18.64,26.33-22.26c0-3.74-0.48-7.13-1.43-10.15C292.44,428.61,291.06,426.04,289.25,423.93z M274.85,458.01 c-1.18,0.16-6.35-0.42-6.35-0.42v-31.56c0.57-0.15,1.29-0.28,2.17-0.39c0.88-0.11,1.83-0.17,2.87-0.17c3.15,0,5.52,1.53,7.12,4.58 c1.6,3.05,2.4,7.11,2.4,12.18C283.06,452.76,279.33,457.39,274.85,458.01z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M330.53,412.72c1.61,0,3.01-0.57,4.19-1.71c1.18-1.14,1.78-2.7,1.78-4.68c0-1.98-0.59-3.54-1.78-4.68 c-1.18-1.14-2.58-1.7-4.19-1.7c-1.61,0-3.01,0.57-4.19,1.7c-1.18,1.14-1.78,2.7-1.78,4.68c0,1.99,0.59,3.55,1.78,4.68 C327.52,412.15,328.92,412.72,330.53,412.72z\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 324.89,\n y: 418.71,\n className: \"st1\",\n width: 11.78,\n height: 45.89\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M375.55,423.83c-1.38-1.83-3.26-3.24-5.62-4.24c-2.36-1-5.57-1.05-9.13-1.05c-3.51,0-6.86,0.27-10.05,0.81 c-3.19,0.54-5.79,1.13-7.81,1.75v43.49h11.88v-38.43c0.74-0.11,1.59-0.21,2.55-0.3c0.96-0.09,1.86-0.13,2.71-0.13 c2.77,0,4.65,0.86,5.67,2.57c1.01,1.71,1.51,4.62,1.51,8.73v27.56h11.88v-25.42c0-3.08-0.05-6.33-0.63-8.84 C377.92,427.83,376.93,425.66,375.55,423.83z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M208.78,429.46c-3.28,0-5.94,2.61-5.94,5.84c0,3.22,2.66,5.83,5.94,5.83c3.28,0,5.94-2.61,5.94-5.83 C214.72,432.08,212.06,429.46,208.78,429.46z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M242.44,432.38c-10.21-6.05-13.76-9.38-12.09-15.43c1.67-6.04,10.42-5,16.67-0.62l2.29-7.29 c-8.13-7.71-23.96-5.36-29.18,5.42c-6.25,12.92,3.54,21.26,14.38,27.1c10.84,5.84,3.33,14.8-1.67,15.01 c-5,0.21-12.51-3.13-12.51-3.13l-2.5,9.59c6.04,2.5,21.26,6.25,28.97-3.75C254.53,449.26,252.65,438.43,242.44,432.38z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M402.54,456.98c-2.16,0-2.67-0.8-3.38-2.4c-0.71-1.6-1.07-3.74-1.07-6.42v-22.62h8.75v-7.01h-8.75v-12.23 l-10.56,2.06v10.17h-4.63v7.01h4.63v20.65c0,2.91,0.2,5.56,0.61,7.96c0.41,2.4,1.13,4.44,2.17,6.12c1.03,1.69,2.41,3,4.14,3.94 c1.72,0.94,3.9,1.41,6.53,1.41c2.07,0,4.59-0.55,6.01-1.01l-0.31-8.15C405.59,456.72,403.58,456.98,402.54,456.98z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M424.24,416.93c-17.98,3.71-17.41,26.25-14.55,35.1c2.86,8.85,12.27,18.26,35.38,9.99l-3.14-7.13 c0,0-20.54,9.7-22.83-9.99l27.39-3.42C446.78,428.05,441.34,413.4,424.24,416.93z M418.53,438.9c0-1.71-1.43-12.27,7.13-13.98 c8.56-1.71,10.84,5.99,10.84,11.41L418.53,438.9z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M497,440.61c-7.13-4.85-12.84-7.99-10.27-13.41c2.57-5.42,8.84-2,11.98,0l3.42-5.99 c-3.42-4.57-15.12-5.99-20.83-2.57c-5.71,3.42-9.9,19.41,1.43,24.54c11.99,5.42,11.41,12.84,5.71,13.41c-5.71,0.57-12.84-2-12.84-2 l-2,6.28c5.14,4.57,15.69,7.13,23.97,0.86C505.85,455.45,504.13,445.46,497,440.61z\"\n }))), _g3 || (_g3 = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"polygon\", {\n className: \"st1\",\n points: \"179.98,346.11 202.53,353.24 177.13,387.48 \"\n }), /*#__PURE__*/React.createElement(\"polygon\", {\n className: \"st1\",\n points: \"189.94,340.17 196.86,317.82 205.7,320.46 198.78,342.81 \"\n }), /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M313.15,222.1c0.71-4.02,1.09-8.14,1.09-12.36c0-3.91-0.33-7.75-0.94-11.49l-6.41,0.43 c-0.55-3.33-1.36-6.57-2.4-9.71l5.71-2.87c-2.93-8.29-7.35-15.87-12.94-22.42l-5.09,3.56c-2.19-2.55-4.58-4.92-7.14-7.1l3.3-5.26 c-6.26-5.15-13.42-9.24-21.2-12.02l-2.6,5.54c-3.16-1.1-6.42-1.95-9.78-2.55l0.24-6.13c-3.82-0.64-7.74-0.98-11.74-0.98 c-3.89,0-7.7,0.32-11.41,0.93l0.4,6.14c-3.35,0.58-6.62,1.43-9.77,2.51l-2.78-5.55c-8.07,2.84-15.47,7.08-21.9,12.45l3.56,5.21 c-2.53,2.18-4.9,4.55-7.07,7.1l-5.37-3.46c-5.25,6.25-9.46,13.4-12.33,21.21l5.9,2.83c-1.08,3.1-1.92,6.31-2.52,9.6l-6.62-0.32 c-0.71,4.02-1.09,8.14-1.09,12.36c0,3.91,0.33,7.75,0.94,11.49l6.77-0.45c0.59,3.26,1.42,6.44,2.48,9.51l-6.14,3.09 c2.93,8.29,7.35,15.87,12.94,22.42l5.73-4c2.15,2.44,4.48,4.72,6.97,6.82l-3.76,5.98c6.26,5.15,13.42,9.24,21.2,12.02l3.02-6.42 c3.04,1.05,6.18,1.87,9.4,2.45l-0.28,7.12c3.82,0.64,7.74,0.98,11.74,0.98c3.89,0,7.7-0.32,11.41-0.93l-0.46-7.05 c3.24-0.55,6.4-1.34,9.45-2.36l3.16,6.31c8.06-2.84,15.46-7.08,21.9-12.45l-3.9-5.71c2.5-2.11,4.84-4.41,7-6.87l5.78,3.72 c5.25-6.24,9.46-13.4,12.33-21.2l-6.02-2.89c1.12-3.08,2.01-6.27,2.65-9.54L313.15,222.1z\"\n }), /*#__PURE__*/React.createElement(\"polygon\", {\n className: \"st1\",\n points: \"120.7,297.86 53.56,280.09 120.7,261.76 \"\n }), /*#__PURE__*/React.createElement(\"polygon\", {\n className: \"st1\",\n points: \"447,108.82 513.41,127.94 447,145 \"\n }), /*#__PURE__*/React.createElement(\"polygon\", {\n className: \"st1\",\n points: \"307.25,72.87 286.7,66.02 310.39,32.63 \"\n }), /*#__PURE__*/React.createElement(\"polygon\", {\n className: \"st1\",\n points: \"134.33,175.02 142.89,154.76 100.66,149.05 \"\n }), /*#__PURE__*/React.createElement(\"polygon\", {\n className: \"st1\",\n points: \"346.91,263.76 388,270.32 356.04,244.07 \"\n }), /*#__PURE__*/React.createElement(\"polygon\", {\n className: \"st1\",\n points: \"165.89,181.49 144.05,173.09 147.28,164.44 169.12,172.84 \"\n }), /*#__PURE__*/React.createElement(\"polygon\", {\n className: \"st1\",\n points: \"342.24,254.68 320.4,246.28 323.62,237.63 345.46,246.03 \"\n }), /*#__PURE__*/React.createElement(\"polygon\", {\n className: \"st1\",\n points: \"200.78,308.33 207.7,285.98 216.55,288.62 209.63,310.97 \"\n }), /*#__PURE__*/React.createElement(\"polygon\", {\n className: \"st1\",\n points: \"281.88,99.07 288.79,76.72 297.64,79.36 290.72,101.71 \"\n }), /*#__PURE__*/React.createElement(\"polygon\", {\n className: \"st1\",\n points: \"271.03,131.89 277.95,109.53 286.79,112.17 279.88,134.53 \"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M315.22,140.27l6.38,11.25c4.46-1.97,8.79-3.67,12.88-5.09l-3.87-11.94 C325.06,136.34,319.95,138.27,315.22,140.27z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M292.09,152.32l6.44,11.36c4.19-2.6,8.42-4.99,12.62-7.16l-6.45-11.38 C300.09,147.48,295.92,149.88,292.09,152.32z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M346.48,129.79c-1.64,0.43-3.24,0.87-4.81,1.31l3.88,11.98c0.03-0.01,0.06-0.01,0.08-0.02 c4.21-1.05,8.94-2.01,14.01-2.88l-2.31-12.85C353.63,128.06,350,128.88,346.48,129.79z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M157.77,271.53l1.7,13.45c5.38-0.71,11.2-1.81,17.06-3.46l-4.84-12.97 C166.92,269.89,162.25,270.85,157.77,271.53z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M435.08,120.8c0,0-5.05-0.08-13.15,0.11l1.23,13.36c4.25-0.13,8.26-0.2,11.92-0.2V120.8z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M395.28,122.28l1.24,13.48c5.11-0.41,10.18-0.74,15.08-1l-1.24-13.43 C405.73,121.55,400.65,121.86,395.28,122.28z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M368.7,125.32l2.36,13.12c4.54-0.61,9.23-1.16,13.96-1.64l-1.24-13.45 C378.82,123.9,373.75,124.54,368.7,125.32z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M133.33,273.18l-0.43,12.84c0,0,6.06,0.49,15.05,0.02l-1.68-13.26C141.58,273.1,137.22,273.18,133.33,273.18z \"\n }), /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M182.64,264.84l4.82,12.9c3.15-1.32,6.25-2.82,9.22-4.57c1.9-1.03,3.72-2.13,5.49-3.27l-8.03-10.61 C190.31,261.46,186.46,263.3,182.64,264.84z\"\n })), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st2\",\n d: \"M270.73,169.09l7.66,9.33c2.91-2.52,5.93-4.94,9.02-7.22l-8-9.74C276.28,164,273.41,166.55,270.73,169.09z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st2\",\n d: \"M252.39,189l9.04,7.52c2.27-3.08,4.74-6.05,7.38-8.89l-9.02-7.51C257.35,182.7,254.88,185.71,252.39,189z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st2\",\n d: \"M236.9,211.58l10.05,6.67c2.05-3.23,4.13-6.47,6.25-9.72l-9.93-6.59 C241.16,205.08,239.03,208.32,236.9,211.58z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st2\",\n d: \"M221.72,233.85l10.27,6.82c2.26-3.09,4.45-6.26,6.6-9.49l-10.2-6.77 C226.18,227.66,223.96,230.83,221.72,233.85z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st2\",\n d: \"M204.72,252.37l8.7,9.09c2.92-2.56,5.65-5.27,8.25-8.1l-8.53-8.91C210.34,247.54,207.53,250.22,204.72,252.37 z\"\n })))), _g4 || (_g4 = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M439.95,520.54c0,2.6-0.89,3.7-2.94,3.7c-1.99,0-2.95-1.09-2.95-3.7v-10.13H429l0.03,10.47 c0,4.86,1.95,7.16,5.99,7.16c1.81,0,3.83-0.72,4.93-2.12v1.95h5.06v-17.46h-5.06V520.54z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M302.12,510.24c-1.75,0-4.14,0.55-5.61,2.5v-8.02h-5.31v23.15h5.31v-2.33c1.47,1.95,3.87,2.5,5.61,2.5 c4.31,0,7.7-3.01,7.7-8.9C309.82,513.59,306.43,510.24,302.12,510.24 M300.51,523.86c-2.57,0-4-1.98-4-4.72 c0-2.77,1.44-4.73,4-4.73c2.57,0,4,1.95,4,4.73C304.51,521.87,303.07,523.86,300.51,523.86\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M322.29,510.24c-1.75,0-4.14,0.55-5.61,2.5v-2.33h-5.3v23.14h5.3v-8.01c1.47,1.95,3.87,2.5,5.61,2.5 c4.31,0,7.7-3.36,7.7-8.9C329.99,513.25,326.6,510.24,322.29,510.24 M320.68,523.86c-2.57,0-4-1.95-4-4.72c0-2.74,1.44-4.73,4-4.73 c2.57,0,4.01,1.99,4.01,4.73C324.69,521.91,323.25,523.86,320.68,523.86\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M112.08,510.24c-1.75,0-4.14,0.55-5.61,2.5v-2.33h-5.31v23.14h5.31v-8.01c1.47,1.95,3.87,2.5,5.61,2.5 c4.31,0,7.7-3.36,7.7-8.9C119.78,513.25,116.39,510.24,112.08,510.24 M110.47,523.86c-2.57,0-4.01-1.95-4.01-4.72 c0-2.74,1.44-4.73,4.01-4.73c2.57,0,4,1.99,4,4.73C114.47,521.91,113.04,523.86,110.47,523.86\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M340.28,510.24c-4.86,0-9.14,3.22-9.14,8.93c0,5.72,4.28,8.86,9.14,8.86c4.86,0,9.14-3.15,9.14-8.86 C349.41,513.45,345.14,510.24,340.28,510.24 M340.28,523.86c-2.57,0-3.83-1.95-3.83-4.69c0-2.77,1.27-4.76,3.83-4.76 c2.57,0,3.83,1.98,3.83,4.76C344.11,521.91,342.84,523.86,340.28,523.86\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M130.39,510.24c-4.86,0-9.14,3.22-9.14,8.93c0,5.72,4.28,8.86,9.14,8.86c4.86,0,9.14-3.15,9.14-8.86 C139.53,513.45,135.25,510.24,130.39,510.24 M130.39,523.86c-2.57,0-3.84-1.95-3.84-4.69c0-2.77,1.27-4.76,3.84-4.76 c2.57,0,3.83,1.98,3.83,4.76C134.22,521.91,132.95,523.86,130.39,523.86\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M357.04,514.41c1.37,0,2.6,0.72,3.49,1.64l2.98-2.98c-1.68-1.98-4.52-2.84-6.91-2.84 c-2.43,0-6.37,1.13-6.37,4.79c0,2.09,1.34,3.42,4.31,4.9c2.29,1.13,3.53,1.74,3.53,2.84c0,0.72-0.55,1.1-1.61,1.1 c-1.13,0-2.81-0.69-4.21-2.12l-3.08,3.08c1.85,2.09,5.1,3.22,7.74,3.22c3.62,0,6.47-1.75,6.47-4.96c0-2.46-1.81-3.9-4.55-5.13 c-2.74-1.27-3.29-1.68-3.29-2.5C355.53,514.72,356.42,514.41,357.04,514.41\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M389.51,512.73c-1.47-1.95-3.87-2.5-5.61-2.5c-4.31,0-7.7,3.01-7.7,8.9c0,1.16,0.18,2.21,0.45,3.17 c-0.27,0.41-0.93,1.21-1.99,1.57c-0.17,0.05-0.33,0.1-0.49,0.13c-0.11,0.02-0.23,0.03-0.36,0.04c-1.52,0.13-2.28-0.96-2.28-3.17 v-6.3h3.32v-4.17h-3.32v-4.45l-5.3,1.49v2.96h-1.88v4.17h1.88v6.67c0,2.5,0.47,4.19,1.34,5.26v0c0.01,0.01,1.42,2.02,4.76,2.02 c1.61,0,3.59-0.48,5.89-2.38c0.1-0.08,0.2-0.16,0.29-0.24c0.03-0.03,0.06-0.05,0.09-0.07h-0.02c0.01-0.01,0.02-0.02,0.03-0.03 c1.37,1.42,3.22,2.21,5.28,2.21c1.75,0,4.14-0.55,5.61-2.5c0,3.76-2.26,4.66-4.52,4.66c-1.81,0-3.66-0.48-6.16-1.44l-2.33,3.39 c3.66,1.78,7.15,2.22,9.52,2.22c4.52,0,8.79-2.22,8.79-8.62v-15.34h-5.3V512.73z M385.51,523.86c-2.57,0-4-1.95-4-4.72 c0-2.74,1.44-4.73,4-4.73c2.57,0,4.01,1.99,4.01,4.73C389.51,521.91,388.08,523.86,385.51,523.86\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M237.88,512.73c-1.47-1.95-3.87-2.5-5.61-2.5c-4.31,0-7.7,3.01-7.7,8.9c0,5.54,3.39,8.9,7.7,8.9 c1.75,0,4.14-0.55,5.61-2.5c0,3.76-2.26,4.66-4.52,4.66c-1.81,0-3.66-0.48-6.16-1.44l-2.33,3.39c3.66,1.78,7.15,2.22,9.52,2.22 c4.52,0,8.79-2.22,8.79-8.62v-15.34h-5.3V512.73z M233.87,523.86c-2.56,0-4-1.95-4-4.72c0-2.74,1.44-4.73,4-4.73 c2.57,0,4.01,1.99,4.01,4.73C237.88,521.91,236.44,523.86,233.87,523.86\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M406.76,510.24c-2.36,0-3.7,1.13-4.24,3.05v-2.88h-5.31v17.46h5.31v-7.05c0-4.14,0.68-6.4,3.69-6.4 c1.44,0,2.29,0.86,2.53,1.1l0.75-4.07C408.95,510.75,408.03,510.24,406.76,510.24\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M189.95,513.28v-2.88h-5.3v17.46h5.3v-7.05c0-4.14,0.68-6.4,3.7-6.4c1.44,0,2.29,0.86,2.54,1.1l0.75-4.07 c-0.55-0.68-1.47-1.2-2.74-1.2C191.83,510.24,190.5,511.37,189.95,513.28\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M418.26,510.24c-4.86,0-9.14,3.22-9.14,8.93c0,5.72,4.28,8.86,9.14,8.86c4.86,0,9.14-3.15,9.14-8.86 C427.4,513.45,423.12,510.24,418.26,510.24 M418.26,523.86c-2.57,0-3.83-1.95-3.83-4.69c0-2.77,1.27-4.76,3.83-4.76 c2.57,0,3.83,1.98,3.83,4.76C422.09,521.91,420.82,523.86,418.26,523.86\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M458.11,510.24c-1.75,0-4.14,0.55-5.62,2.5v-2.33h-5.3v23.14h5.3v-8.01c1.47,1.95,3.87,2.5,5.62,2.5 c4.31,0,7.7-3.36,7.7-8.9C465.81,513.25,462.42,510.24,458.11,510.24 M456.5,523.86c-2.57,0-4.01-1.95-4.01-4.72 c0-2.74,1.44-4.73,4.01-4.73c2.57,0,4,1.99,4,4.73C460.5,521.91,459.06,523.86,456.5,523.86\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M258.04,520.44c0-2.56,0.78-4.53,2.38-6.05c1.65-1.56,3.73-2.31,6.37-2.31v-5.18c-3.97,0-7.31,1.25-9.93,3.72 c-2.66,2.51-4.02,5.81-4.02,9.82c0,4,1.35,7.3,4.02,9.82c2.62,2.47,5.96,3.72,9.93,3.72v-5.18c-2.64,0-4.72-0.76-6.37-2.31 C258.82,524.97,258.04,523,258.04,520.44\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M266.79,495.84v5.18c2.63,0,4.72,0.75,6.37,2.31c1.61,1.51,2.39,3.49,2.39,6.05c0,2.55-0.78,4.53-2.39,6.04 c-1.65,1.55-3.73,2.31-6.37,2.31v5.18c3.97,0,7.3-1.25,9.92-3.72c2.66-2.51,4.02-5.81,4.02-9.82c0-4.01-1.35-7.31-4.02-9.82 C274.09,497.09,270.76,495.84,266.79,495.84\"\n }), /*#__PURE__*/React.createElement(\"polygon\", {\n className: \"st1\",\n points: \"158.92,522.76 155.64,510.38 150.05,510.38 146.85,522.73 144.58,510.38 139.33,510.38 143.72,527.52 149.59,527.52 152.72,516.04 155.82,527.52 161.69,527.52 166.08,510.38 161.19,510.38 \"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M179.19,511.21c-1.29-0.7-2.79-1.05-4.48-1.05c-1.68,0-3.17,0.35-4.48,1.06c-1.31,0.71-2.33,1.72-3.06,3.04 c-0.73,1.32-1.09,2.88-1.09,4.68c0,1.78,0.37,3.34,1.11,4.67c0.74,1.33,1.76,2.35,3.06,3.06c1.3,0.71,2.79,1.06,4.47,1.06 c1.43,0,2.73-0.27,3.9-0.82c1.16-0.54,2.13-1.29,2.89-2.24c0.76-0.95,1.25-2.03,1.47-3.24h-5.56c-0.16,0.61-0.5,1.12-1.01,1.5 c-0.51,0.39-1.16,0.58-1.94,0.58c-0.92,0-1.68-0.28-2.27-0.85c-0.6-0.56-0.92-1.49-0.98-2.78h11.88c0.1-0.51,0.15-0.98,0.15-1.41 c0-1.64-0.35-3.09-1.06-4.34C181.48,512.89,180.48,511.91,179.19,511.21 M171.23,517.69c0.08-1.1,0.44-1.94,1.07-2.52 c0.63-0.57,1.43-0.86,2.4-0.86c0.92,0,1.69,0.28,2.32,0.85c0.63,0.56,0.93,1.41,0.91,2.53H171.23z\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 198,\n y: 510.39,\n className: \"st1\",\n width: 5.25,\n height: 17.13\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M200.64,502.8c-0.94,0-1.7,0.26-2.27,0.78c-0.57,0.52-0.86,1.18-0.86,1.98c0,0.78,0.29,1.43,0.86,1.95 c0.57,0.52,1.33,0.78,2.27,0.78c0.94,0,1.7-0.26,2.27-0.78c0.57-0.52,0.86-1.17,0.86-1.95c0-0.8-0.29-1.46-0.86-1.98 C202.34,503.06,201.58,502.8,200.64,502.8\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M216.39,510.2c-1.31,0-2.45,0.3-3.42,0.89c-0.97,0.59-1.7,1.4-2.2,2.43v-3.13h-5.25v17.13h5.25v-9.09 c0-1.25,0.31-2.21,0.94-2.89c0.62-0.68,1.47-1.02,2.53-1.02c1.01,0,1.81,0.32,2.41,0.97c0.61,0.64,0.91,1.54,0.91,2.69v9.34h5.25 v-9.95c0-2.29-0.58-4.1-1.74-5.41C219.92,510.86,218.36,510.2,216.39,510.2\"\n }))));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgLogo, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/logo.429002c1.svg\";\nexport { ForwardRef as ReactComponent };","import React from 'react';\r\nimport { Field } from 'formik';\r\nimport { FieldGroup, IFieldGroupProps } from './FieldGroup';\r\n\r\ninterface IProps extends IFieldGroupProps{\r\n disabled?: boolean;\r\n}\r\n\r\nexport function TextInputField({ disabled = false, ...props}: IProps) {\r\n return (\r\n \r\n \r\n \r\n );\r\n}\r\n\r\n\r\n","import React from 'react';\r\nimport { ReactComponent } from './logo.svg';\r\n\r\nexport const Logo = () => {\r\n return (\r\n \r\n );\r\n}","import React, { useState } from 'react';\r\nimport { useEnterKeyDown } from '../../../hooks/useEnterKeyDown';\r\nimport { useCombineClassNames } from '../../../hooks/useCombineClassNames';\r\nimport { IconButton } from '../buttons/IconButton';\r\nimport './Searchbox.scss';\r\n\r\ninterface IProps extends React.HTMLProps {\r\n onTextChanged?: (str: string) => void;\r\n onSearch: (str: string) => void;\r\n externalProps?: IExternalSearchboxProps;\r\n large?: boolean; \r\n}\r\n\r\ninterface IExternalSearchboxProps {\r\n text: string;\r\n setText: (str: string) => void;\r\n}\r\n\r\nexport const Searchbox = ({ placeholder, onTextChanged, onSearch, externalProps, large = false, ...rest }: IProps) => {\r\n const [text, setText] = useState('');\r\n const search = (e: any) => {\r\n if (e !== null) {\r\n e.preventDefault();\r\n }\r\n if (onSearch) {\r\n onSearch(externalProps ? externalProps.text : text);\r\n }\r\n }\r\n const handleKeyDown = useEnterKeyDown(search);\r\n const handleChange = (e: React.ChangeEvent) => {\r\n handleChangeWithStr(e.target.value);\r\n }\r\n const handleChangeWithStr = (str: string) => {\r\n if (externalProps) {\r\n externalProps.setText(str);\r\n } else {\r\n setText(str);\r\n }\r\n if (onTextChanged) {\r\n onTextChanged(str);\r\n }\r\n }\r\n\r\n const clear = () => {\r\n handleChangeWithStr('');\r\n if (onSearch){\r\n onSearch('');\r\n }\r\n }\r\n\r\n const isFiltered = externalProps ? externalProps.text : text;\r\n\r\n return (\r\n
\r\n \r\n \r\n {isFiltered ?\r\n clear()} />\r\n : null}\r\n
\r\n );\r\n}","export function useKeyDown(key: string, onKeyDown: (e:any) => void) : (e: React.KeyboardEvent) => void {\r\n return (e: React.KeyboardEvent) => {\r\n if (e.key === key){\r\n onKeyDown(e);\r\n }\r\n }\r\n}","import { useKeyDown } from \"./useKeyDown\";\r\n\r\nexport function useEnterKeyDown(onKeyDown: (e:any) => void) : (e: React.KeyboardEvent) => void {\r\n return useKeyDown('Enter', onKeyDown);\r\n}\r\n","import React from 'react';\r\nimport { IconButton } from '../buttons/IconButton';\r\nimport './CustomDropdown.scss';\r\n\r\ninterface IProps {\r\n text: string;\r\n isOpen: boolean;\r\n clickTrigger: () => void;\r\n selected: boolean;\r\n onClear: () => void;\r\n clearable: boolean;\r\n formatSelected: boolean;\r\n small: boolean;\r\n}\r\n\r\nexport const DropDownTrigger = ({ text, isOpen, clickTrigger, onClear, selected, clearable, formatSelected, small }: IProps) => {\r\n return (\r\n
\r\n
{text}
\r\n {selected && clearable ?\r\n \r\n :\r\n \r\n }\r\n
\r\n );\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { IOption } from '../../../infrastructure/Models';\r\nimport { Dropdown } from 'semantic-ui-react';\r\nimport { Searchbox } from '../search/Searchbox';\r\nimport { useLocalizationContext } from '../../../hooks/useLocalizationContext';\r\nimport _ from 'lodash';\r\nimport './CustomDropdown.scss';\r\nimport { DropDownTrigger } from './DropDownTrigger';\r\n\r\ninterface IProps {\r\n placeholder: string;\r\n options: IOption[];\r\n selected: T;\r\n onSelect: (str: T) => void;\r\n onClear: () => void;\r\n clearable?: boolean;\r\n formatTrigger?: boolean;\r\n searchable?: boolean;\r\n stretch?: boolean;\r\n small?: boolean;\r\n}\r\nexport function CustomDropDown({ options, placeholder, selected, onSelect, onClear, clearable = false, formatTrigger = false, searchable = true, stretch = true, small = false }: IProps) {\r\n // options = _.orderBy(options, t => t.text);\r\n const locContext = useLocalizationContext();\r\n const [isOpen, setIsOpen] = useState(false);\r\n const [filteredOptions, setFilteredOptions] = useState[]>([]);\r\n const [triggerText, setTriggerText] = useState(placeholder);\r\n\r\n useEffect(() => {\r\n setFilteredOptions(_.orderBy(options, t => t.text));\r\n if (selected) {\r\n const x = options.find(t => t.value === selected);\r\n if (x) {\r\n setTriggerText(x.text);\r\n } \r\n }\r\n }, [options, selected]);\r\n\r\n const handleSearchTextChanged = (str: string) => {\r\n const x = _.orderBy(options, t => t.text).filter(t => t.text.toLowerCase().includes(str.toLowerCase()));\r\n setFilteredOptions(x);\r\n }\r\n\r\n const handleSelect = (option: IOption) => {\r\n onSelect(option.value);\r\n setIsOpen(false);\r\n }\r\n\r\n return (\r\n { setIsOpen(false); onClear(); }}\r\n selected={selected ? true : false}\r\n text={triggerText}\r\n isOpen={isOpen}\r\n clickTrigger={() => setIsOpen(!isOpen)}\r\n clearable={clearable}\r\n formatSelected={formatTrigger}\r\n small={small} />\r\n }\r\n icon={null}\r\n onClose={() => { }}\r\n onOpen={() => { }}\r\n open={isOpen}\r\n onBlur={() => setIsOpen(false)}\r\n scrolling>\r\n \r\n {searchable ?\r\n
\r\n \r\n
\r\n : null}\r\n
\r\n {filteredOptions.map(t =>\r\n
handleSelect(t)}>{t.text}
\r\n )}\r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React, { useContext } from 'react';\r\nimport { LocalizationContext } from '../../context/LocalizationContext';\r\nimport { IOption } from '../../infrastructure/Models';\r\nimport { CustomDropDown } from '../common/dropdown/CustomDropdown';\r\n\r\ninterface IProps {\r\n isMobile: boolean;\r\n className?: string;\r\n}\r\n\r\nexport const LanguageDropDown = ( {isMobile, className}: IProps ) => {\r\n const locContext = useContext(LocalizationContext);\r\n\r\n const options: IOption<\"en\" | \"fr\" | \"nl\">[] = [\r\n { key: \"en\", value: \"en\", text: \"English\" },\r\n { key: \"fr\", value: \"fr\", text: \"Français\" },\r\n { key: \"nl\", value: \"nl\", text: \"Nederlands\" },\r\n ]\r\n\r\n return (\r\n \r\n onClear={() => { }}\r\n placeholder=\"Taal/Language/Langue\"\r\n options={options}\r\n onSelect={(val) => locContext.setLanguage(val)}\r\n selected={locContext.getLanguage()}\r\n stretch={isMobile}\r\n searchable={false}\r\n clearable={false}\r\n small={true} />\r\n );\r\n}","import { Form, Formik, FormikActions } from 'formik';\r\nimport React, { useContext } from 'react';\r\nimport { Link } from 'react-router-dom';\r\nimport { Responsive } from 'semantic-ui-react';\r\nimport * as yup from 'yup';\r\nimport { AuthContext } from '../../context/AuthContext';\r\nimport { LocalizationContext } from '../../context/LocalizationContext';\r\nimport { RouterContext } from '../../context/RouterContext';\r\nimport { ILoginModel, LoginModel, UserClient } from '../../gen/ApiClients';\r\nimport { useClient } from '../../hooks/useClient';\r\nimport { useLocalizationContext } from '../../hooks/useLocalizationContext';\r\nimport { clearNullOrUndefinedValues, tryCatchWithLoading } from '../../infrastructure/Utils';\r\nimport * as routes from '../../routes';\r\nimport { PrimaryButton } from '../common/buttons/PrimaryButton';\r\nimport { TextLinkButton } from '../common/buttons/TextLinkButton';\r\nimport { FormDialog } from '../common/forms/FormDialog';\r\nimport { setFieldError } from '../common/forms/FormsUtils';\r\nimport { PasswordField } from '../common/forms/PasswordField';\r\nimport { TextInputField } from '../common/forms/TextInputField';\r\nimport { Logo } from '../common/Logo';\r\nimport './Login.scss';\r\nimport { LanguageDropDown } from '../settings/LanguageDropdown';\r\n\r\nexport const Login = () => {\r\n const locContext = useLocalizationContext();\r\n const languageContext = useContext(LocalizationContext);\r\n const routerContext = useContext(RouterContext);\r\n const authContext = useContext(AuthContext);\r\n const client = useClient(UserClient);\r\n const initialValues = clearNullOrUndefinedValues({ userName: '', password: '' }, LoginModel);\r\n const validateSchema = yup.object().shape({\r\n userName: yup\r\n .string()\r\n .required(locContext.validateUsername),\r\n password: yup\r\n .string()\r\n .required(locContext.validatePassword),\r\n });\r\n\r\n const submit = async (props: ILoginModel, actions: FormikActions) => {\r\n const loginResult = await tryCatchWithLoading(client.login(new LoginModel(props)), actions.setSubmitting, locContext.serverError);\r\n if (loginResult && !loginResult.hasError && loginResult.token) {\r\n authContext.login(loginResult.token);\r\n routerContext.history.push(routes.DashboardRoute);\r\n } else if (loginResult !== undefined) {\r\n setFieldError('password', locContext.invalidCombinationUsernamePassword, actions);\r\n }\r\n actions.setSubmitting(false);\r\n }\r\n const onContactUs = (e: any) => {\r\n e.preventDefault();\r\n const lang = languageContext.getLanguage();\r\n const url = lang === 'nl'\r\n ? 'https://www.eurosprinters.be/word-chauffeur/'\r\n : lang === 'en'\r\n ? 'https://www.eurosprinters.be/en/become-driver/'\r\n : 'https://www.eurosprinters.be/fr/devenir-chauffeur/';\r\n const link = document.createElement('a');\r\n link.href = url;\r\n document.body.appendChild(link);\r\n link.click();\r\n }\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n
\r\n {locContext.noAccount}? \r\n {locContext.contactUs}\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n {locContext.loginWelcomeTitle}\r\n {locContext.loginWelcomeSubtitle}\r\n \r\n \r\n initialValues={initialValues}\r\n validationSchema={validateSchema}\r\n onSubmit={submit}>\r\n {(props) => (\r\n
\r\n
\r\n label={locContext.userName} xName=\"userName\" />\r\n label={locContext.password} xName=\"password\" noMargin />\r\n \r\n {locContext.forgotPassword}\r\n \r\n
\r\n {locContext.login}\r\n
\r\n )}\r\n \r\n
\r\n \r\n
\r\n
\r\n {locContext.noAccount}? \r\n {locContext.contactUs}\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n );\r\n}\r\n\r\n","import React, { useContext } from 'react'\r\nimport { RouteProps, Route, Redirect } from 'react-router'\r\nimport * as fromRoutes from '../routes';\r\nimport { AuthContext } from '../context/AuthContext';\r\n\r\nexport const ProtectedRoute : any = ( { component: Component, ...rest}: {component: React.ComponentType} ) => {\r\n const authContext = useContext(AuthContext);\r\n return (\r\n authContext.hasToken ? : } {...rest} />\r\n );\r\n}","import buildJson from './build.json';\r\n\r\nexport const build: number = buildJson.Build;\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { build } from \"../build\";\r\nimport { BuildClient } from \"../gen/ApiClients\";\r\nimport { useClient } from \"../hooks/useClient\";\r\nimport { clearCacheAndReloadApplication } from \"../infrastructure/Utils\";\r\nimport { PrimaryButton } from \"./common/buttons/PrimaryButton\";\r\nimport { Logo } from \"./common/Logo\";\r\n\r\nexport const AppUpdateWall: React.FC = ({ children }: any) => {\r\n const buildClient = useClient(BuildClient);\r\n const [isOutdated, setIsOutdated] = useState(false);\r\n\r\n useEffect(() => {\r\n const load = async () => {\r\n const x = await buildClient.current();\r\n if (build < x) {\r\n setIsOutdated(true);\r\n }\r\n };\r\n load();\r\n // eslint-disable-next-line\r\n }, []);\r\n\r\n if (isOutdated) {\r\n return (\r\n
\r\n \r\n {`You're using an old version of this application.`}
\r\n clearCacheAndReloadApplication()}\r\n >\r\n Click here to update\r\n \r\n \r\n );\r\n } else {\r\n return children;\r\n }\r\n};\r\n","import React, { useState } from 'react';\r\nimport { Modal } from 'semantic-ui-react';\r\nimport './ModalContext.scss';\r\n\r\ninterface IModalProps {\r\n open: (content: JSX.Element, closeOnEscapeOrDimmerClick?: boolean) => void;\r\n close: () => void;\r\n}\r\n\r\nexport const ModalContext = React.createContext({ open: () => {}, close: () => {}});\r\n\r\nexport const ModalProvider = (props: any) => {\r\n const [isOpen, setIsOpen] = useState(false);\r\n const [content, setContent] = useState(
);\r\n const [closeOnEscapeOrDimmerClick, setCloseOnEscapeOrDimmerClick] = useState(true);\r\n\r\n return (\r\n {\r\n setIsOpen(true); \r\n setContent(
)\r\n setContent(content);\r\n setCloseOnEscapeOrDimmerClick(closeOnEscapeOrDimmerClick);\r\n }, close: () => setIsOpen(false)}}>\r\n {props.children}\r\n setIsOpen(false)}\r\n onOpen={() => setIsOpen(true)}\r\n open={isOpen}\r\n centered={false}\r\n closeOnEscape={closeOnEscapeOrDimmerClick}\r\n closeOnDimmerClick={closeOnEscapeOrDimmerClick}\r\n closeIcon>\r\n \r\n {content}\r\n \r\n \r\n \r\n );\r\n}\r\n\r\n","import React, { useState } from 'react';\r\nimport { useCombineClassNames } from '../../../hooks/useCombineClassNames';\r\nimport { TextLinkButton } from '../buttons/TextLinkButton';\r\nimport { PrimaryButton } from '../buttons/PrimaryButton';\r\nimport { useLocalizationContext } from '../../../hooks/useLocalizationContext';\r\nimport { Responsive } from 'semantic-ui-react';\r\nimport './BaseConfirmation.scss';\r\n\r\ninterface IProps extends React.HTMLProps {\r\n title: string | undefined;\r\n description: string | JSX.Element | undefined;\r\n confirmText?: string;\r\n cancelText?: string;\r\n confirm: () => void | Promise;\r\n cancel: () => void;\r\n}\r\n\r\nexport const BaseConfirmation = ({ title, description, confirmText, cancelText, confirm, cancel, ...rest }: IProps) => {\r\n const [isSubmitting, setIsSubmitting] = useState(false);\r\n const locContext = useLocalizationContext();\r\n confirmText = confirmText ? confirmText : locContext.yes;\r\n cancelText = cancelText ? cancelText : locContext.no;\r\n\r\n const submit = async () => {\r\n setIsSubmitting(true);\r\n await confirm();\r\n setIsSubmitting(false);\r\n }\r\n\r\n return (\r\n
\r\n
\r\n
\r\n {title}\r\n
\r\n
\r\n {description}\r\n
\r\n
\r\n \r\n
\r\n
\r\n cancel()}>{cancelText}\r\n submit()}>{confirmText}\r\n
\r\n
\r\n
\r\n \r\n
\r\n confirm()}>{confirmText}\r\n cancel()}>{cancelText}\r\n
\r\n
\r\n
\r\n );\r\n}","import React from 'react';\r\nimport { useCombineClassNames } from '../../../hooks/useCombineClassNames';\r\nimport './BaseInformation.scss';\r\n\r\ninterface IProps extends React.HTMLProps {\r\n title: string | undefined;\r\n description: string | undefined;\r\n}\r\nexport const BaseInformation = ({title, description, ...rest}: IProps) => {\r\n return (\r\n
\r\n
\r\n {title}\r\n
\r\n
\r\n {description}\r\n
\r\n
\r\n );\r\n}","import React from 'react';\r\nimport { INotification } from '../../gen/ApiClients';\r\nimport { BaseConfirmation } from '../common/modal/BaseConfirmation';\r\nimport { useLocalizationContext } from '../../hooks/useLocalizationContext';\r\nimport { BaseInformation } from '../common/modal/BaseInformation';\r\nimport { toDefaultFormat } from '../../infrastructure/Utils';\r\n\r\ninterface IProps {\r\n notification: INotification;\r\n cancel: () => void;\r\n confirm: () => Promise;\r\n}\r\n\r\nexport const NotificationDetail = ({ notification, cancel, confirm }: IProps) => {\r\n const locContext = useLocalizationContext();\r\n if (notification.isRead) {\r\n return (\r\n \r\n );\r\n }\r\n return (\r\n \r\n );\r\n}","import { useState } from \"react\";\r\n\r\nexport interface ITrigger {\r\n val: boolean;\r\n}\r\n\r\nexport function useTrigger(init?: ITrigger): [ITrigger, () => void] {\r\n const [trigger, setTrigger] = useState(init ? init : {val: false});\r\n return [trigger, () => setTrigger({val: !trigger.val})];\r\n}","import React, { useState, useEffect, useContext } from 'react';\r\nimport { INotification, NotificationsClient } from '../gen/ApiClients';\r\nimport { useClient } from '../hooks/useClient';\r\nimport { ModalContext } from './ModalContext';\r\nimport { NotificationDetail } from '../components/notifications/NotificationDetail';\r\nimport { useTrigger, ITrigger } from '../hooks/useTrigger';\r\nimport { empty } from '../infrastructure/Utils';\r\nimport { useLocalizationContext } from '../hooks/useLocalizationContext';\r\nimport { showSuccessToast } from '../components/common/toast/ToastNotification';\r\nimport { useInterval } from '../hooks/useInterval';\r\n\r\ninterface IProps {\r\n unread: INotification[];\r\n countUnread: number;\r\n show: (notification: INotification) => void;\r\n trigger: ITrigger;\r\n}\r\n\r\nconst fallbackProps: IProps = {\r\n unread: [],\r\n countUnread: 0,\r\n show: empty,\r\n trigger: { val: false },\r\n}\r\n\r\nexport const NotificationsContext = React.createContext(fallbackProps);\r\n\r\nexport const NotificationsProvider = (props: any) => {\r\n const [notifications, setNotifications] = useState([]);\r\n const client = useClient(NotificationsClient);\r\n const modalContext = useContext(ModalContext);\r\n const [trigger, hitTrigger] = useTrigger();\r\n const locContext = useLocalizationContext();\r\n\r\n useInterval(() => hitTrigger(), 15000);\r\n\r\n useEffect(() => {\r\n loadUnread();\r\n }, \r\n // eslint-disable-next-line\r\n [trigger]);\r\n\r\n const loadUnread = async () => {\r\n setNotifications(await client.unread());\r\n }\r\n const show = (notification: INotification) => {\r\n modalContext.open(\r\n modalContext.close()}\r\n confirm={async () => { \r\n await client.markAsRead(notification.id ? notification.id : '');\r\n hitTrigger();\r\n showSuccessToast(locContext.notificationMarkedAsRead);\r\n modalContext.close();\r\n }} />);\r\n }\r\n\r\n return (\r\n \r\n {props.children}\r\n \r\n );\r\n}\r\n","import { useEffect } from \"react\";\r\n\r\nexport function useInterval(callback: (...args: any[]) => void, ms: number): void {\r\n useEffect(() => {\r\n const timer = setInterval(callback, ms);\r\n return () => clearInterval(timer);\r\n }, \r\n // eslint-disable-next-line\r\n []);\r\n}","import React, { useState } from 'react';\r\nimport { empty } from '../infrastructure/Utils';\r\n\r\ninterface IProps {\r\n placeholder: string;\r\n searchText: string | undefined;\r\n onSearch: (str: string) => void;\r\n init: (ph: string, st: string | undefined, cb: (st: string) => void) => void;\r\n hide: () => void;\r\n isHidden: boolean;\r\n hideAndShowGoBackButton: () => void;\r\n isShowGoBack: boolean;\r\n}\r\n\r\nconst fallback: IProps = {\r\n placeholder: '',\r\n searchText: '',\r\n onSearch: empty,\r\n init: empty,\r\n isHidden: false,\r\n hide: empty,\r\n hideAndShowGoBackButton: empty,\r\n isShowGoBack: false,\r\n}\r\n\r\nexport const WrapperSearchContext = React.createContext(fallback);\r\n\r\nexport const WrapperSearchProvider = ({ children }: any) => {\r\n const [isSearchHidden, setIsSearchHidden] = useState(false);\r\n const [isShowGoBack, setIsShowGoBack] = useState(false);\r\n const [placeholder, setPlaceholder] = useState('');\r\n const [searchText, setSearchText] = useState('');\r\n\r\n let callback: (str: string) => void;\r\n \r\n function init(ph: string, st: string | undefined, cb: (str: string) => void) {\r\n setIsSearchHidden(false);\r\n setIsShowGoBack(false);\r\n if (placeholder !== ph) {\r\n setPlaceholder(ph);\r\n setSearchText(st);\r\n } else {\r\n callback = cb;\r\n }\r\n }\r\n\r\n const onSearch = (str: string) => {\r\n if (str !== searchText) {\r\n setSearchText(str);\r\n callback(str);\r\n }\r\n }\r\n\r\n return (\r\n {setIsSearchHidden(true); setIsShowGoBack(false)},\r\n hideAndShowGoBackButton: () => { setIsSearchHidden(true); setIsShowGoBack(true); },\r\n isShowGoBack: isShowGoBack,\r\n }}>\r\n {children}\r\n \r\n );\r\n}\r\n","import React, { useState, useContext, useEffect } from 'react';\r\nimport { useCombineClassNames } from '../hooks/useCombineClassNames';\r\nimport { WrapperSearchContext } from '../context/WrapperSearchTextContext';\r\nimport { Searchbox } from './common/search/Searchbox';\r\nimport './WrapperSearchbox.scss';\r\nimport { TextLinkButton } from './common/buttons/TextLinkButton';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { useLocalizationContext } from '../hooks/useLocalizationContext';\r\nimport { RouterContext } from '../context/RouterContext';\r\n\r\ninterface IProps extends React.HTMLProps {\r\n}\r\n\r\nexport const WrapperSearchbox = ({ ...rest }: IProps) => {\r\n const className = useCombineClassNames('dashboard-search-box df-row-ac', rest);\r\n const locContext = useLocalizationContext();\r\n const routerContext = useContext(RouterContext);\r\n const [text, setText] = useState('');\r\n const context = useContext(WrapperSearchContext);\r\n const search = (str: string) => {\r\n context.onSearch(str);\r\n }\r\n useEffect(() => {\r\n if (context.searchText !== text) {\r\n setText(context.searchText ? context.searchText : '');\r\n }\r\n }, \r\n // eslint-disable-next-line\r\n [context.searchText]);\r\n\r\n if (context.isHidden) {\r\n if (context.isShowGoBack === false) {\r\n return
;\r\n } else {\r\n return (\r\n routerContext.goBack()}>\r\n
\r\n \r\n
{locContext.backToOverview}
\r\n
\r\n
\r\n );\r\n }\r\n }\r\n\r\n return (\r\n setText(str)} />\r\n );\r\n}","import React, { useState, useContext } from 'react';\r\nimport { useCombineClassNames } from '../hooks/useCombineClassNames';\r\nimport { Dropdown, Label } from 'semantic-ui-react';\r\nimport { NotificationsContext } from '../context/NotificationsContext';\r\nimport './NotificationsDropdown.scss';\r\n\r\ninterface IProps {\r\n className?: string;\r\n}\r\n\r\nexport const NotificationsDropdown = ({ ...rest }: IProps) => {\r\n const className = useCombineClassNames('notifications-dropdown df-row jc-c', rest);\r\n const [isOpen, setIsOpen] = useState(false);\r\n const context = useContext(NotificationsContext);\r\n\r\n if (context.unread === undefined || context.unread === null || context.unread.length === 0) {\r\n return null;\r\n }\r\n\r\n return (\r\n
\r\n setIsOpen(true)}\r\n onClose={() => setIsOpen(false)}\r\n onClick={() => setIsOpen(false)}\r\n pointing='right'>\r\n \r\n {context.unread.map(t =>\r\n context.show(t)}>{t.title}\r\n )}\r\n \r\n \r\n {context.countUnread > 0\r\n ? \r\n : null}\r\n
\r\n );\r\n}","import React, { useState } from 'react';\r\nimport { empty } from '../infrastructure/Utils';\r\n\r\ninterface IProps {\r\n isLoading: boolean;\r\n setLoading: (isLoading: boolean) => void;\r\n}\r\n\r\nconst fallback: IProps = {\r\n isLoading: false,\r\n setLoading: empty,\r\n}\r\n\r\nexport const WrapperFullScreenLoadContext = React.createContext(fallback);\r\n\r\nexport const WrapperFullScreenLoadProvider = ({ children }: any) => {\r\n const [isLoading, setIsLoading] = useState(false);\r\n\r\n let timer: NodeJS.Timeout;\r\n const setIsLoadingWithTimer = (isLoading: boolean) => {\r\n if (isLoading) {\r\n timer = setTimeout(() => {\r\n setIsLoading(true);\r\n }, 1000);\r\n } else {\r\n clearTimeout(timer);\r\n setIsLoading(false);\r\n }\r\n }\r\n\r\n return (\r\n setIsLoadingWithTimer(isLoading),\r\n }}>\r\n {children}\r\n \r\n );\r\n}\r\n","import React from 'react';\r\nimport { IconButton } from './IconButton';\r\nimport './InformationIconButton.scss';\r\nimport { useCombineClassNames } from '../../../hooks/useCombineClassNames';\r\n\r\ninterface IProps {\r\n onClick: () => void;\r\n withMargin?: boolean;\r\n className?: string;\r\n}\r\nexport const InformationIconButton = ({ onClick, withMargin = true, ...rest }: IProps) => {\r\n return (\r\n onClick()} />\r\n );\r\n}","import React from 'react';\r\nimport logo from './avatar.png';\r\nimport { Image } from 'semantic-ui-react';\r\n\r\ninterface IProps extends React.HTMLProps {\r\n width?: number;\r\n height?: number;\r\n}\r\n\r\nexport const JohnDoeAvatar = ({ height = 40, width = 40, ...rest }: IProps) => {\r\n var divStyle: React.CSSProperties = {\r\n height: `${height}px`,\r\n width: `${width}px`,\r\n }\r\n return (\r\n \r\n );\r\n}","import React from 'react';\r\nimport { Table } from 'semantic-ui-react';\r\nimport { isSorted, nameof } from '../../../infrastructure/Utils';\r\nimport { useTableSort } from '../../../hooks/useTableSortAndPage';\r\nimport { IHeader, ISortProps } from '../../../infrastructure/Models';\r\nimport './BaseTable.scss';\r\n\r\ninterface IProps {\r\n canSort: boolean;\r\n headers: IHeader[];\r\n uniqueIdentifier: keyof T;\r\n values: T[];\r\n params: TQueryParams;\r\n onSort: (params: TQueryParams) => void;\r\n fallbackSortProps?: ISortProps;\r\n className?: string;\r\n footer?: JSX.Element;\r\n onClickRow?: (inst: T) => void;\r\n formatRow?: (inst: T) => string;\r\n}\r\n\r\nexport function BaseTableSort({ canSort, headers, uniqueIdentifier, fallbackSortProps, values, onSort, params, footer, onClickRow, formatRow, ...rest }: IProps) {\r\n const sort = useTableSort(fallbackSortProps);\r\n const map = new Map string | JSX.Element | undefined>();\r\n headers.forEach(m => map.set(m.key, m.evaluate));\r\n // shortcut when values === null\r\n if (!values) {\r\n return null;\r\n }\r\n\r\n const evaluate = (inst: T, key: string): string | JSX.Element | undefined => {\r\n const val = map.get(key);\r\n const evaluated = val ? val(inst) : '';\r\n return evaluated;\r\n }\r\n\r\n const handleCellClick = (header: IHeader, inst: T) => {\r\n if (!header.disableClick && onClickRow) {\r\n onClickRow(inst);\r\n }\r\n }\r\n \r\n return (\r\n \r\n \r\n \r\n {headers.map(header =>\r\n canSort && header.sortProperty ?\r\n header.sortProperty ? onSort(sort(params, nameof(header.sortProperty))) : {}}>\r\n {header.text}\r\n \r\n :\r\n \r\n {header.text}\r\n \r\n )}\r\n \r\n \r\n \r\n {values.map(value =>\r\n \r\n {headers.map(header =>\r\n handleCellClick(header, value)}>{evaluate(value, header.key)}\r\n )}\r\n \r\n )}\r\n \r\n {footer ? footer : null}\r\n
\r\n );\r\n}","import { IPageProps, ISortProps } from \"../infrastructure/Models\";\r\n\r\n// export function useTableSortAndPage(initialValue: T, fallBackSortProps?: ISortProps): [T, (inst: T) => void, (columnn: string) => void, () => void, () => void] {\r\n// const [val, setVal] = useState(initialValue);\r\n// return [val, setVal, (column: string) => {\r\n// // edge-case ico fallbackValue set.\r\n// if (fallBackSortProps && fallBackSortProps.sortProperty == column) {\r\n// setVal({ ...val, sortProperty: column, sortDirection: val.sortDirection && val.sortDirection === 'ascending' ? 'descending' : 'ascending', pageIndex: 1 })\r\n// } else if (val.sortProperty !== column) {\r\n// setVal({ ...val, sortProperty: column, sortDirection: 'ascending', pageIndex: 1 });\r\n// } else if (val.sortDirection === 'ascending') {\r\n// setVal({ ...val, sortProperty: column, sortDirection: 'descending', pageIndex: 1 });\r\n// } else {\r\n// setVal(fallBackSortProps ? { ...val, ...fallBackSortProps, pageIndex: 1 } : { ...val, sortProperty: '', sortDirection: undefined, pageIndex: 1 });\r\n// }\r\n// }, () => setVal({ ...val, pageIndex: val.pageIndex ? val.pageIndex + 1 : 1 }), () => setVal({ ...val, pageIndex: val.pageIndex ? val.pageIndex - 1 : 1 })]\r\n// }\r\n\r\n// (column: string, inst: T) => T , (inst: T) => T, (inst: T) => T\r\nexport function useTablePage(): [(inst: T) => T, (inst: T) => T] {\r\n // sort, next, previous\r\n return [(inst: T) => ({ ...inst, pageIndex: inst.pageIndex ? inst.pageIndex + 1 : 1 }),\r\n (inst: T) => ({ ...inst, pageIndex: inst.pageIndex ? inst.pageIndex - 1 : 1 })]\r\n}\r\nexport function useTableSort(fallBackSortProps?: ISortProps): ((inst: T, column: string) => T) {\r\n return (inst: T, column: string) => {\r\n // edge-case ico fallbackValue set.\r\n if (fallBackSortProps && fallBackSortProps.sortProperty === column) {\r\n return ({ ...inst, sortProperty: column, sortDirection: inst.sortDirection && inst.sortDirection === 'ascending' ? 'descending' : 'ascending', pageIndex: 1 });\r\n } else if (inst.sortProperty !== column) {\r\n return ({ ...inst, sortProperty: column, sortDirection: 'ascending', pageIndex: 1 });\r\n } else if (inst.sortDirection === 'ascending') {\r\n return ({ ...inst, sortProperty: column, sortDirection: 'descending', pageIndex: 1 });\r\n } else {\r\n return(fallBackSortProps ? { ...inst, ...fallBackSortProps, pageIndex: 1 } : { ...inst, sortProperty: '', sortDirection: undefined, pageIndex: 1 });\r\n }\r\n }\r\n}","import { IHeader } from \"../../../infrastructure/Models\";\r\n\r\nexport function createSortableHeader(text: string, key: keyof T, evaluate: (inst: T) => string | JSX.Element | undefined, disableClick: boolean = false): IHeader {\r\n return { text: text, key: key.toString(), evaluate: evaluate, sortProperty: key, disableClick: disableClick};\r\n}\r\nexport function createHeader(text: string, evaluate: (inst: T) => string | JSX.Element | undefined, disableClick: boolean = false): IHeader {\r\n return { text: text, key: text, evaluate: evaluate, disableClick: disableClick};\r\n}\r\nexport function createEmptyHeader(key: string, evaluate: (inst: T) => string | JSX.Element | undefined, noPadding?: boolean, disableClick: boolean = false): IHeader {\r\n return { text: '', key: key, evaluate: evaluate, noPadding: noPadding ? noPadding : false, disableClick: disableClick};\r\n}","import React from 'react';\r\nimport { useLocalizationContext } from '../../hooks/useLocalizationContext';\r\nimport { toDefaultFormat } from '../../infrastructure/Utils';\r\nimport './RevenuesSummary.scss';\r\n\r\ninterface IProps {\r\n afterDate: Date | undefined;\r\n beforeDate: Date | undefined;\r\n drivers: string[];\r\n amountExVat: number | undefined;\r\n amountInVat: number | undefined;\r\n vatAmount: number | undefined;\r\n previousMonthAmountExVat: number | undefined;\r\n percentageChangeAmountExVat : number | undefined; \r\n}\r\n\r\nexport const RevenuesSummary = ({ afterDate, beforeDate, drivers, amountExVat, amountInVat, vatAmount, previousMonthAmountExVat, percentageChangeAmountExVat }: IProps) => {\r\n const locContext = useLocalizationContext();\r\n return (\r\n
\r\n
\r\n {locContext.totalRevenues}\r\n
\r\n
{locContext.date}
\r\n
{toDefaultFormat(afterDate)} - {toDefaultFormat(beforeDate)}
\r\n
{locContext.drivers}
\r\n {drivers.map(t =>
{t}
)}\r\n
{locContext.amountExVat}
\r\n
\r\n
€ {amountExVat}
\r\n
{locContext.lastMonth}:
\r\n
€ {previousMonthAmountExVat}
\r\n {/*
{renderChange(percentageChangeAmountExVat)}
*/}\r\n
\r\n
{locContext.vat}
\r\n
€ {vatAmount}
\r\n
{locContext.amountInVat}
\r\n
€ {amountInVat}
\r\n
\r\n );\r\n}","import React, { useContext, useState } from 'react';\r\nimport { Divider, Responsive } from 'semantic-ui-react';\r\nimport { ModalContext } from '../../context/ModalContext';\r\nimport { IRouterProps, RouterContext } from '../../context/RouterContext';\r\nimport { IRevenue, IRevenuePerAssignment, IRevenuePerDay, IRevenuesByDriver } from '../../gen/ApiClients';\r\nimport { useLocalizationContext } from '../../hooks/useLocalizationContext';\r\nimport { ISortProps } from '../../infrastructure/Models';\r\nimport { nameof, toDefaultFormat } from '../../infrastructure/Utils';\r\nimport { CalcRevenueDetailRoute } from '../../routes';\r\nimport { IconButton } from '../common/buttons/IconButton';\r\nimport { InformationIconButton } from '../common/buttons/InformationIconButton';\r\nimport { JohnDoeAvatar } from '../common/johnDoeAvatar/JohnDoeAvatar';\r\nimport { BaseTableSort } from '../common/table/BaseTableSort';\r\nimport { createHeader } from '../common/table/TableUtils';\r\nimport './RevenuePerDriver.scss';\r\nimport { RevenuesSummary } from './RevenuesSummary';\r\n\r\ninterface IProps {\r\n value: IRevenuesByDriver;\r\n afterDate: Date | undefined;\r\n beforeDate: Date | undefined;\r\n // showStatus?: boolean;\r\n}\r\n\r\nconst initialSort: ISortProps = {\r\n sortProperty: nameof('date'),\r\n sortDirection: 'ascending',\r\n};\r\n\r\nconst viewDetails = (routerContext: IRouterProps, inst: IRevenue) => {\r\n routerContext.history.push(CalcRevenueDetailRoute(inst));\r\n}\r\n\r\nexport const RevenuePerDriver = ({ value, afterDate, beforeDate }: IProps) => {\r\n const locContext = useLocalizationContext();\r\n const [isExpanded, setIsExpanded] = useState(true);\r\n // const [values, setValues] = useState(value.values ? value.values : []);\r\n const modalContext = useContext(ModalContext);\r\n\r\n // const headers = [\r\n // createSortableHeader(locContext.date, 'date', t => toDefaultFormat(t.date)),\r\n // createHeader(locContext.assignment, t => t.assignment),\r\n // createHeader(locContext.fileNumber, t => t.fileNumber),\r\n // createHeader(locContext.loadAndUnloadAddressPlusStops, t => t.formattedAddress),\r\n // createSortableHeader(locContext.vehicle, 'department', t => t.department),\r\n // createSortableHeader(locContext.amountExVat, 'amountExVat', t =>
€ {t.amountExVat}
),\r\n // ]\r\n // if (showStatus) {\r\n // headers.push(createSortableHeader(locContext.status, 'status', t => t.status));\r\n // }\r\n\r\n // const handleSort = (props: ISortProps) => {\r\n // setSortProps(props);\r\n // if (!props.sortProperty) {\r\n // setValues(value.values ? value.values : []);\r\n // } else if (props.sortDirection === 'ascending') {\r\n // setValues(_.sortBy(values, props.sortProperty));\r\n // } else {\r\n // setValues(_.sortBy(values, props.sortProperty).reverse());\r\n // }\r\n // }\r\n\r\n\r\n const showTotals = () => {\r\n modalContext.open(\r\n \r\n , true);\r\n }\r\n\r\n return (\r\n
\r\n
setIsExpanded(!isExpanded)}>\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
{value.driverName}
\r\n
\r\n
{locContext.total}: € {value.totalAmountExVat}
\r\n {/* {renderChange(value.percentageChangeTotalAmountExVat)} */}\r\n
\r\n
\r\n \r\n
{value.driverName}
\r\n
\r\n
\r\n
\r\n <>\r\n \r\n
{locContext.total}: € {value.totalAmountExVat}
\r\n {/* {renderChange(value.percentageChangeTotalAmountExVat)} */}\r\n
\r\n
\r\n showTotals()} />\r\n
\r\n {isExpanded ?\r\n \r\n : }\r\n \r\n
\r\n
\r\n {isExpanded && value.values ?\r\n
\r\n {value.values.map(t => )}\r\n\r\n\r\n {/* */}\r\n\r\n {/* \r\n className=\"revenues-table\"\r\n values={values}\r\n onSort={(pars) => handleSort(pars)}\r\n fallbackSortProps={initialSort}\r\n uniqueIdentifier='fileNumber'\r\n headers={headers}\r\n canSort={true}\r\n params={sortProps}\r\n onClickRow={(inst) => viewDetails(inst)} /> */}\r\n {/* */}\r\n {/* \r\n {value.values.map(t =>\r\n
viewDetails(routerContext, t)}>\r\n
\r\n
{toDefaultFormat(t.date)} - € {t.amountExVat}
\r\n
{t.formattedAddress}
\r\n
{t.department}
\r\n
\r\n \r\n
)\r\n : null}\r\n
*/}\r\n {/*
\r\n
{locContext.total}: € {value.totalAmountExVat}
\r\n {renderChange(value.percentageChangeTotalAmountExVat)}\r\n showTotals()} />\r\n
*/}\r\n
\r\n :
}\r\n
\r\n );\r\n}\r\n\r\ninterface IRevenuePerDayProps {\r\n value: IRevenuePerDay;\r\n}\r\n\r\nexport const RevenuePerDay = ({ value }: IRevenuePerDayProps) => {\r\n const locContext = useLocalizationContext();\r\n const [isExpanded, setIsExpanded] = useState(true);\r\n\r\n return (\r\n
\r\n
setIsExpanded(!isExpanded)}>\r\n
\r\n
{locContext.date}: {toDefaultFormat(value.date)}
\r\n
\r\n
\r\n
{locContext.total}: € {value.amountExVat}
\r\n {isExpanded ?\r\n \r\n : }\r\n
\r\n
\r\n {isExpanded && value.values ? value.values.map(t => )\r\n : undefined}\r\n
\r\n );\r\n}\r\n\r\ninterface IRevenuePerAssignmentProps {\r\n value: IRevenuePerAssignment;\r\n}\r\n\r\nexport const RevenuePerAssignment = ({ value }: IRevenuePerAssignmentProps) => {\r\n const locContext = useLocalizationContext();\r\n const routerContext = useContext(RouterContext);\r\n const [isExpanded, setIsExpanded] = useState(true);\r\n\r\n const headers = [\r\n // createHeader(locContext.date, t => toDefaultFormat(t.date)),\r\n // createHeader(locContext.assignment, t => t.assignment),\r\n createHeader(locContext.fileNumber, t => t.fileNumber),\r\n createHeader(locContext.loadAndUnloadAddressPlusStops, t => t.formattedAddress),\r\n createHeader(locContext.vehicle, t => t.department),\r\n createHeader(locContext.amountExVat, t =>
€ {t.amountExVat}
),\r\n createHeader(locContext.status, t => t.status)\r\n ]\r\n\r\n return (\r\n
\r\n
setIsExpanded(!isExpanded)}>\r\n
\r\n {/* */}\r\n
{locContext.assignment}: {value.assignment}
\r\n
\r\n
\r\n
{locContext.total}: € {value.amountExVat}
\r\n {isExpanded ?\r\n \r\n : }\r\n
\r\n
\r\n {isExpanded && value.values ?\r\n <>\r\n \r\n \r\n className=\"revenues-table\"\r\n values={value.values}\r\n onSort={(pars) => { }}\r\n fallbackSortProps={initialSort}\r\n uniqueIdentifier='fileNumber'\r\n headers={headers}\r\n canSort={false}\r\n params={initialSort}\r\n onClickRow={(inst) => viewDetails(routerContext, inst)} />\r\n \r\n \r\n {value.values.map(t =>\r\n
viewDetails(routerContext, t)}>\r\n
\r\n
{t.fileNumber} - € {t.amountExVat}
\r\n
{t.status}
\r\n
{t.formattedAddress}
\r\n
{locContext.vehicle}: {t.department}
\r\n
\r\n \r\n
)}\r\n
\r\n \r\n : undefined}\r\n
\r\n );\r\n}","import React from 'react';\r\nimport { useCombineClassNames } from '../../hooks/useCombineClassNames';\r\nimport { TextLinkButton } from '../common/buttons/TextLinkButton';\r\nimport { useLocalizationContext } from '../../hooks/useLocalizationContext';\r\nimport { INotification } from '../../gen/ApiClients';\r\nimport './UnreadNotifications.scss';\r\n\r\ninterface IProps extends React.HTMLProps {\r\n unread: INotification[];\r\n show: (not: INotification) => void;\r\n}\r\n\r\nexport const UnreadNotifications = ({ unread, show, ...rest }: IProps) => {\r\n const locContext = useLocalizationContext();\r\n const className = useCombineClassNames('bulletins df-col', rest);\r\n\r\n return (\r\n
\r\n {unread.length === 0 ?
{locContext.noNewNotifications}
: null}\r\n {unread.map(t =>\r\n
show(t)}>\r\n
{t.title}
\r\n {locContext.moreInfo}\r\n
\r\n )} \r\n
\r\n );\r\n}","import React, { useContext } from 'react';\r\nimport { Card, Divider } from 'semantic-ui-react';\r\nimport Moment from 'react-moment';\r\nimport { useCombineClassNames } from '../../hooks/useCombineClassNames';\r\nimport { AuthContext } from '../../context/AuthContext';\r\nimport { UnreadNotifications } from './UnreadNotifications';\r\nimport { NotificationsContext } from '../../context/NotificationsContext';\r\nimport './InfoTodoCard.scss';\r\nimport { useLocalizationContext } from '../../hooks/useLocalizationContext';\r\n\r\ninterface IProps {\r\n className?: string;\r\n}\r\n\r\nexport const InfoTodoCard = ({ ...rest }: IProps) => {\r\n const authContext = useContext(AuthContext);\r\n const notificationsContext = useContext(NotificationsContext);\r\n const locContext = useLocalizationContext();\r\n\r\n return (\r\n \r\n
\r\n {locContext.hello} {authContext.user ? authContext.user.name : '?'}, {locContext.upForToday}\r\n
\r\n
\r\n \r\n
\r\n \r\n notificationsContext.show(t)} />\r\n
\r\n );\r\n}\r\n","import React, { useContext, useEffect, useState } from 'react';\r\nimport { Link } from 'react-router-dom';\r\nimport { Card } from 'semantic-ui-react';\r\nimport { ModalContext } from '../../context/ModalContext';\r\nimport { WrapperFullScreenLoadContext } from '../../context/WrapperFullScreenLoadContext';\r\nimport { WrapperSearchContext } from '../../context/WrapperSearchTextContext';\r\nimport { IRevenuesQueryResult, RevenuesClient } from '../../gen/ApiClients';\r\nimport { useClient } from '../../hooks/useClient';\r\nimport { useLocalizationContext } from '../../hooks/useLocalizationContext';\r\nimport { tryCatchWithLoading } from '../../infrastructure/Utils';\r\nimport * as routes from '../../routes';\r\nimport { InformationIconButton } from '../common/buttons/InformationIconButton';\r\nimport { PrimaryButton } from '../common/buttons/PrimaryButton';\r\nimport { RevenuePerDriver } from '../revenues/RevenuePerDriver';\r\nimport { RevenuesSummary } from '../revenues/RevenuesSummary';\r\nimport './Dashboard.scss';\r\nimport { InfoTodoCard } from './InfoTodoCard';\r\n\r\nexport const Dashboard = () => {\r\n const locContext = useLocalizationContext();\r\n const [queryResult, setQueryResult] = useState({});\r\n const client = useClient(RevenuesClient);\r\n useContext(WrapperSearchContext).hide();\r\n const loaderContext = useContext(WrapperFullScreenLoadContext);\r\n const modalContext = useContext(ModalContext);\r\n\r\n useEffect(() => {\r\n load();\r\n }, \r\n // eslint-disable-next-line\r\n []);\r\n\r\n const load = async () => {\r\n setQueryResult(await tryCatchWithLoading(client.transportsThisMonth(), loaderContext.setLoading, locContext.serverError));\r\n }\r\n\r\n const showTotals = () => {\r\n if (!queryResult.values) {\r\n return;\r\n }\r\n modalContext.open(\r\n t.driverName ? t.driverName : '')}\r\n amountExVat={queryResult.totalAmountExVat}\r\n amountInVat={queryResult.totalAmountInVat}\r\n vatAmount={queryResult.totalVatAmount}\r\n previousMonthAmountExVat={queryResult.previousMonthTotalAmountExVat}\r\n percentageChangeAmountExVat={queryResult.percentageChangeTotalAmountExVat} />\r\n , true);\r\n }\r\n\r\n return (\r\n
\r\n
\r\n \r\n {/* */}\r\n
\r\n \r\n
\r\n
\r\n
\r\n
{locContext.yourRevenuesThisMonth}: € {queryResult.totalAmountExVat}
\r\n {/* {renderChange(queryResult.percentageChangeTotalAmountExVat)} */}\r\n showTotals()} />\r\n
\r\n
\r\n \r\n {locContext.moreInfo}\r\n \r\n
\r\n
\r\n {queryResult.values === undefined || queryResult.values.length === 0 ?
{locContext.noRevenues}
: null}\r\n {queryResult.values ?\r\n queryResult.values.map(t => )\r\n : null}\r\n
\r\n
\r\n
\r\n );\r\n}","import React from 'react';\r\nimport { IRevenuesQueryParams } from '../gen/ApiClients';\r\n\r\ninterface IProps {\r\n\tparams: IRevenuesQueryParams;\r\n\tsetParams: (pars: IRevenuesQueryParams) => void;\r\n}\r\n\r\nexport const RevenuesQueryParamsContext = React.createContext(undefined as any);\r\n","import React, { useState } from 'react';\r\nimport { Dropdown } from 'semantic-ui-react';\r\nimport { IconProp } from '@fortawesome/fontawesome-svg-core';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport './FilterItem.scss';\r\nimport { useCombineClassNames } from '../../../hooks/useCombineClassNames';\r\n\r\ninterface IProps extends React.HTMLProps {\r\n icon: IconProp;\r\n count: number;\r\n label: string;\r\n onClickAway: () => void;\r\n noMaxHeight?: boolean;\r\n onOpened: () => void;\r\n}\r\n\r\nexport const FilterItem = ({ children, icon, count, label, onClickAway, noMaxHeight = false, onOpened = () => {}, ...rest }: IProps) => {\r\n const [isOpen, setIsOpen] = useState(false);\r\n\r\n return (\r\n }\r\n icon={null}\r\n floating\r\n onClose={() => { }}\r\n onOpen={() => {setIsOpen(true); onOpened();}}\r\n open={isOpen}\r\n onBlur={() => { setIsOpen(false); onClickAway(); }}\r\n scrolling>\r\n \r\n {children}\r\n \r\n \r\n );\r\n}\r\n\r\ninterface ITriggerProps {\r\n count: number;\r\n label: string;\r\n icon: IconProp;\r\n className?: string;\r\n}\r\n\r\nconst FilterTrigger = ({ count, label, icon, ...rest }: ITriggerProps) => {\r\n return (\r\n
\r\n
0 ? ' ft-icon-selected' : ''}`}>\r\n \r\n {count > 0 ?\r\n
{count}
\r\n : null}\r\n
\r\n
{label}
\r\n
\r\n );\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { IconProp } from '@fortawesome/fontawesome-svg-core';\r\nimport moment from 'moment';\r\nimport { IconButton } from '../buttons/IconButton';\r\nimport { FilterItem } from './FilterItem';\r\nimport { MonthInput } from 'semantic-ui-calendar-react';\r\nimport { useCombineClassNames } from '../../../hooks/useCombineClassNames';\r\nimport './MonthSelector.scss';\r\nimport { Divider } from 'semantic-ui-react';\r\n\r\ninterface IProps {\r\n icon?: IconProp;\r\n onFilter: (value: IDateOutput) => void;\r\n afterDate: Date | undefined;\r\n beforeDate: Date | undefined;\r\n className?: string;\r\n}\r\n\r\nexport interface IDateOutput {\r\n after: Date | undefined;\r\n before: Date | undefined;\r\n}\r\n\r\nexport const MonthSelector = ({ icon = ['fas', 'calendar'], onFilter, afterDate, beforeDate, ...rest }: IProps) => {\r\n const monthNames = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];\r\n const [yearValue, setYearValue] = useState(0);\r\n const [monthValue, setMonthValue] = useState(0);\r\n\r\n useEffect(() => {\r\n setYearValue(afterDate ? afterDate.getFullYear() : new Date().getFullYear());\r\n setMonthValue(afterDate ? afterDate.getMonth() : new Date().getMonth());\r\n }, [afterDate, beforeDate]);\r\n\r\n const handleFilter = (addMonths: number) => {\r\n const date = moment(new Date(yearValue, monthValue, 1)).add(addMonths, \"months\").toDate();\r\n onFilter({\r\n after: moment(date).startOf(\"month\").toDate(),\r\n before: moment(date).endOf(\"month\").toDate(),\r\n });\r\n }\r\n\r\n return (\r\n
\r\n
\r\n handleFilter(-1)} />\r\n handleFilter(0)}\r\n noMaxHeight={true}\r\n onOpened={() => { }}\r\n className=\"select-month-trigger jc-c\">\r\n
\r\n
\r\n setYearValue(yearValue - 1)} />\r\n
Jaar: {yearValue}
\r\n setYearValue(yearValue + 1)} />\r\n
\r\n \r\n setMonthValue(monthNames.indexOf(data.value))}\r\n // onChange={(e, data) => handleSelect(data)}\r\n inline={true}\r\n inlineLabel={true}\r\n // localization='nl' \r\n />\r\n
\r\n \r\n handleFilter(+1)} />\r\n
\r\n
\r\n );\r\n}","import React from 'react';\r\nimport { Document, Image, Page, StyleSheet, Text, View } from '@react-pdf/renderer';\r\nimport { IRevenuesQueryResult } from '../../../gen/ApiClients';\r\nimport { useLocalizationContext } from '../../../hooks/useLocalizationContext';\r\nimport { toDefaultFormat } from '../../../infrastructure/Utils';\r\nimport logo from './logo.jpg';\r\n\r\n// Create styles\r\nconst styles = StyleSheet.create({\r\n page: {\r\n flexDirection: 'column',\r\n paddingTop: 35,\r\n paddingBottom: 65,\r\n paddingHorizontal: 35,\r\n fontSize: 11,\r\n },\r\n header: {\r\n flexDirection: 'row',\r\n marginBottom: 10,\r\n },\r\n headerText: {\r\n marginLeft: 10,\r\n fontSize: 16,\r\n },\r\n subHeaderText: {\r\n marginLeft: 10,\r\n fontSize: 14,\r\n },\r\n driverHeader: {\r\n backgroundColor: '#EDEDED',\r\n width: '100%',\r\n padding: 5,\r\n fontSize: 14,\r\n marginBottom: 10,\r\n marginTop: 10,\r\n },\r\n perDayHeader: {\r\n backgroundColor: '#f7f7f7',\r\n width: '100%',\r\n padding: 5,\r\n fontSize: 12,\r\n marginBottom: 8,\r\n marginLeft: 8\r\n // marginTop: 8,\r\n },\r\n perAssignmentHeader: {\r\n backgroundColor: '#f7f7f7',\r\n width: '100%',\r\n padding: 5,\r\n fontSize: 12,\r\n marginBottom: 8,\r\n marginLeft: 12\r\n // marginTop: 8,\r\n },\r\n totals: {\r\n fontWeight: 'bold',\r\n backgroundColor: '#EDEDED',\r\n width: '100%',\r\n padding: 5,\r\n fontSize: 16,\r\n marginBottom: 10,\r\n marginTop: 10,\r\n },\r\n image: {\r\n width: 50,\r\n height: 50,\r\n },\r\n dfCol: {\r\n flexDirection: 'column',\r\n },\r\n dfRow: {\r\n flexDirection: 'row',\r\n },\r\n percent7: {\r\n width: '7%',\r\n },\r\n percent10: {\r\n width: '10%',\r\n },\r\n percent15: {\r\n width: '15%',\r\n },\r\n fileNumber: {\r\n width: '15%',\r\n marginLeft: '16px',\r\n },\r\n percent20: {\r\n width: '20%',\r\n },\r\n percent30: {\r\n width: '30%',\r\n },\r\n percent33: {\r\n width: '33%',\r\n },\r\n subTotalText: {\r\n fontWeight: 600,\r\n fontSize: 12,\r\n marginTop: 5,\r\n }\r\n});\r\n\r\ninterface IProps {\r\n queryResult: IRevenuesQueryResult;\r\n}\r\nexport const ExportDocument = ({ queryResult }: IProps) => {\r\n const locContext = useLocalizationContext();\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {locContext.revenues}\r\n {queryResult.servicePartnerName}\r\n {toDefaultFormat(queryResult.afterDate)} - {toDefaultFormat(queryResult.beforeDate)}\r\n \r\n \r\n {queryResult.values ?\r\n queryResult.values.map(t =>\r\n \r\n \r\n {t.driverName} | € {t.totalAmountExVat} ({locContext.exVat}) | € {t.totalAmountInVat} ({locContext.inVat})\r\n \r\n {t.values ? t.values.map(x =>\r\n \r\n \r\n {locContext.date}: {toDefaultFormat(x.date)} | € {x.amountExVat} ({locContext.exVat}) | € {x.amountInVat} ({locContext.inVat})\r\n \r\n {x.values ? x.values.map(y =>\r\n \r\n \r\n {locContext.assignment}: {y.assignment} | € {y.amountExVat} ({locContext.exVat}) | € {y.amountInVat} ({locContext.inVat})\r\n \r\n {y.values ? y.values.map(z =>\r\n \r\n {/* {toDefaultFormat(z.date)} */}\r\n {/* {z.assignment} */}\r\n {z.fileNumber}\r\n {z.formattedAddress}\r\n {z.department}\r\n € {z.amountExVat}\r\n {z.status}\r\n \r\n )\r\n : undefined}\r\n )\r\n : undefined}\r\n )\r\n : undefined}\r\n {/* {t.values ? t.values.map(x =>\r\n \r\n {toDefaultFormat(x.date)}\r\n {x.assignment} \r\n {x.fileNumber}\r\n {x.formattedAddress}\r\n {x.department}\r\n € {x.amountExVat}\r\n {x.status}\r\n \r\n ) : null} */}\r\n )\r\n : null}\r\n \r\n {locContext.total}: € {queryResult.totalAmountExVat} ({locContext.exVat}) | € {queryResult.totalAmountInVat} ({locContext.inVat})\r\n \r\n {/* */}\r\n \r\n \r\n );\r\n}","import React from 'react';\r\nimport { useCombineClassNames } from '../../../hooks/useCombineClassNames';\r\nimport { IconButton } from '../buttons/IconButton';\r\nimport { useLocalizationContext } from '../../../hooks/useLocalizationContext';\r\nimport './FilterBar.scss';\r\n\r\ninterface IProps extends React.HTMLProps {\r\n onClear: () => void;\r\n isFiltered: boolean;\r\n}\r\n\r\nexport const FilterBar = ({ children, onClear, isFiltered, ...rest }: IProps) => {\r\n const locContext = useLocalizationContext();\r\n return (\r\n
\r\n
{locContext.filterOn}:
\r\n
\r\n {children}\r\n
\r\n {isFiltered ?\r\n
\r\n \r\n
{locContext.deleteFilter}
\r\n
\r\n : null}\r\n
\r\n );\r\n}","import React from 'react';\r\nimport { useCombineClassNames } from '../../../hooks/useCombineClassNames';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport './CustomListItem.scss';\r\n\r\ninterface IProps extends React.HTMLProps {\r\n checked: boolean;\r\n label: string;\r\n onToggle: () => void;\r\n showCheckbox?: boolean;\r\n}\r\n\r\nexport const CustomListItem = ({ label, checked, onToggle, showCheckbox = true, ...rest }: IProps) => {\r\n return (\r\n
onToggle()} >\r\n {showCheckbox ?\r\n
\r\n {checked ?\r\n \r\n : null}\r\n
\r\n : null}\r\n
{label}
\r\n
\r\n );\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { IconProp } from '@fortawesome/fontawesome-svg-core';\r\nimport { TextLinkButton } from '../buttons/TextLinkButton';\r\nimport { FilterItem } from './FilterItem';\r\nimport { CustomListItem } from './CustomListItem';\r\nimport { useEffectAfterMount } from '../../../hooks/useEffectAfterMount';\r\nimport { IOption } from '../../../infrastructure/Models';\r\nimport { Searchbox } from '../search/Searchbox';\r\nimport { useLocalizationContext } from '../../../hooks/useLocalizationContext';\r\nimport _ from 'lodash';\r\nimport './ListFilterItem.scss';\r\n\r\ninterface IProps {\r\n onFilter: (selection: T[]) => void;\r\n icon: IconProp;\r\n label: string;\r\n options: IOption[];\r\n selection: T[];\r\n canSearch?: boolean;\r\n}\r\n\r\nexport function ListFilterItem({ options, onFilter, icon, label, canSearch = true, selection: initial }: IProps) {\r\n const locContext = useLocalizationContext();\r\n const [selection, setSelection] = useState(initial ? initial : []); //these must be the values...\r\n const [filteredOptions, setFilteredOptions] = useState[]>([]);\r\n const [isSubmitted, setIsSubmitted] = useState(false);\r\n const [searchText, setSearchtext] = useState('');\r\n\r\n if (isSubmitted && selection !== initial){\r\n setSelection(initial);\r\n }\r\n\r\n useEffectAfterMount(() => {\r\n setFilteredOptions(_.orderBy(options, t => t.text));\r\n }, [options]);\r\n\r\n useEffect(() => {\r\n filter(searchText);\r\n }, \r\n // eslint-disable-next-line\r\n [searchText]);\r\n\r\n useEffect(() => {\r\n if (isSubmitted === false){\r\n filter(searchText);\r\n }\r\n }, \r\n // eslint-disable-next-line\r\n [isSubmitted]);\r\n\r\n const filter = (str: string) => {\r\n const x = options.filter(t => t.text.toLowerCase().includes(str.toLowerCase()));\r\n setFilteredOptions(_.orderBy(x, t => t.text));\r\n }\r\n\r\n const handleAll = () => {\r\n setSelection(options.map(t => t.value));\r\n }\r\n\r\n const handleNone = () => {\r\n setSelection([]);\r\n }\r\n\r\n const handleSearchTextChanged = (str: string) => {\r\n const x = options.filter(t => t.text.toLowerCase().includes(str.toLowerCase()));\r\n setFilteredOptions(_.orderBy(x, t => t.text));\r\n }\r\n\r\n const handleToggle = (value: T) => {\r\n if (selection.includes(value)) {\r\n setSelection([...selection].splice(0, selection.indexOf(value)).concat(selection.slice(selection.indexOf(value) + 1)));\r\n } else {\r\n setSelection([...selection, value]);\r\n }\r\n }\r\n\r\n const onClickAway = () => {\r\n if (selection !== initial){\r\n onFilter(selection);\r\n }\r\n setIsSubmitted(true);\r\n }\r\n\r\n return (\r\n setIsSubmitted(false)}>\r\n
\r\n {canSearch ?\r\n // \r\n \r\n : null}\r\n
\r\n
{locContext.filterOn} {label}
\r\n
\r\n {locContext.all.toUpperCase()}\r\n {locContext.none.toUpperCase()}\r\n
\r\n
\r\n
\r\n
\r\n {filteredOptions.map(t => handleToggle(t.value)} />)}\r\n
\r\n \r\n );\r\n}","import { EffectCallback, DependencyList, useState, useEffect } from 'react';\r\n\r\nexport function useEffectAfterMount(effect: EffectCallback, deps?: DependencyList): void{\r\n const [didMount, setDidMount] = useState(false);\r\n useEffect(() => { setDidMount(true)}, []);\r\n useEffect(() => {\r\n if (didMount){\r\n effect();\r\n }\r\n }, \r\n // eslint-disable-next-line\r\n deps);\r\n}","import React from 'react';\r\nimport { IconProp } from '@fortawesome/fontawesome-svg-core';\r\nimport { IOption } from '../../../infrastructure/Models';\r\nimport { ListFilterItem } from './ListFilterItem';\r\n\r\ninterface IProps {\r\n onFilter: (selection: string[]) => void;\r\n icon: IconProp;\r\n label: string;\r\n options: IOption[];\r\n selection: string[];\r\n canSearch?: boolean;\r\n}\r\n\r\nexport const EnumListFilterItem = ({ icon, label, options, selection, canSearch, onFilter }: IProps) => {\r\n return (\r\n \r\n icon={icon}\r\n label={label}\r\n options={options}\r\n selection={selection}\r\n onFilter={onFilter}\r\n canSearch={canSearch} />\r\n );\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { useClient } from '../hooks/useClient';\r\nimport { IStringNamedEntity, ServicePartnersClient } from '../gen/ApiClients';\r\n\r\ninterface IProps {\r\n\tallFilterableDrivers: IStringNamedEntity[];\r\n}\r\n\r\nconst fallbackProps: IProps = {\r\n\tallFilterableDrivers: [],\r\n};\r\n\r\nexport const FilterDataContext = React.createContext(fallbackProps);\r\n\r\nexport const FilterDataProvider = ({ children }: any) => {\r\n\tconst [allFilterableDrivers, setAllFilterableDrivers] = useState([]);\r\n\tconst client = useClient(ServicePartnersClient);\r\n\r\n\tuseEffect(\r\n\t\t() => {\r\n\t\t\tload();\r\n\t\t},\r\n\t\t// eslint-disable-next-line\r\n\t\t[]\r\n\t);\r\n\r\n\tconst load = async () => {\r\n\t\tsetAllFilterableDrivers(await client.allFilterableDrivers());\r\n\t};\r\n\treturn (\r\n\t\t\r\n\t\t\t{children}\r\n\t\t\r\n\t);\r\n};\r\n","import React, { useContext } from 'react';\r\nimport { TransportStatus, IRevenuesQueryParams } from '../../gen/ApiClients';\r\nimport { useLocalizationContext } from '../../hooks/useLocalizationContext';\r\nimport { enumToOptions } from '../../infrastructure/Utils';\r\nimport { FilterBar } from '../common/filter/FilterBar';\r\nimport { EnumListFilterItem } from '../common/filter/EnumListFilterItem';\r\nimport { ListFilterItem } from '../common/filter/ListFilterItem';\r\nimport { IOption } from '../../infrastructure/Models';\r\nimport { FilterDataContext } from '../../context/FilterDataContext';\r\n\r\ninterface IProps {\r\n\tparams: IRevenuesQueryParams;\r\n\tonFilter: (params: IRevenuesQueryParams) => void;\r\n}\r\n\r\nfunction isFiltered(pars: IRevenuesQueryParams) {\r\n\tif (!pars) {\r\n\t\treturn false;\r\n\t}\r\n\tif (pars.statuses && pars.statuses.length > 0) {\r\n\t\treturn true;\r\n\t}\r\n\tif (pars.driverIds && pars.driverIds.length > 0) {\r\n\t\treturn true;\r\n\t}\r\n\treturn false;\r\n}\r\n\r\nexport const FilterRevenues = ({ params, onFilter }: IProps) => {\r\n\tconst locContext = useLocalizationContext();\r\n\tconst context = useContext(FilterDataContext);\r\n\r\n\tconst translations = new Map([\r\n\t\t[TransportStatus._SendToApp, locContext.sendToApp],\r\n\t\t[TransportStatus._ConfirmedByDriver, locContext.confirmedByDriver],\r\n\t\t[TransportStatus._InProgress, locContext.inProgress],\r\n\t\t[TransportStatus._Outsourced, locContext.outsourced],\r\n\t\t[TransportStatus._Loaded, locContext.loaded],\r\n\t\t[TransportStatus._Departed, locContext.departed],\r\n\t\t[TransportStatus._Unloaded, locContext.unloaded],\r\n\t\t[TransportStatus._Processed, locContext.processedDrivers],\r\n\t\t[TransportStatus._Canceled, locContext.canceled],\r\n\t\t[TransportStatus._DeadFreight, locContext.deadFreight],\r\n\t\t[TransportStatus._SentShipmentChanged, 'Sent shipment changed'],\r\n\t]);\r\n\tconst statusOptions = enumToOptions(TransportStatus, translations);\r\n\r\n\tconst handleClear = () => {\r\n\t\tonFilter({ ...params, statuses: [], driverIds: [] });\r\n\t};\r\n\treturn (\r\n\t\t handleClear()}\r\n\t\t\tisFiltered={isFiltered(params)}>\r\n\t\t\t
\r\n\t\t\t\t onFilter({ ...params, statuses: sel })}\r\n\t\t\t\t/>\r\n\t\t\t\t\r\n\t\t\t\t\ticon={['fas', 'users']}\r\n\t\t\t\t\tlabel={locContext.driver}\r\n\t\t\t\t\toptions={context.allFilterableDrivers.map>(t => ({ key: t.id ? t.id : '', value: t.id ? t.id : '', text: t.value ? t.value : '' }))}\r\n\t\t\t\t\tselection={params.driverIds ? params.driverIds : []}\r\n\t\t\t\t\tonFilter={val => onFilter({ ...params, driverIds: val })}\r\n\t\t\t\t/>\r\n\t\t\t
\r\n\t\t\r\n\t);\r\n};\r\n","import { PDFViewer } from '@react-pdf/renderer';\r\nimport React, { useContext, useEffect, useState } from 'react';\r\nimport { Card, Divider, Responsive } from 'semantic-ui-react';\r\nimport { ModalContext } from '../../context/ModalContext';\r\nimport { RevenuesQueryParamsContext } from '../../context/RevenuesQueryParamsContext';\r\nimport { WrapperFullScreenLoadContext } from '../../context/WrapperFullScreenLoadContext';\r\nimport { WrapperSearchContext } from '../../context/WrapperSearchTextContext';\r\nimport { IRevenuesQueryResult, RevenuesClient, RevenuesQueryParams } from '../../gen/ApiClients';\r\nimport { useClient } from '../../hooks/useClient';\r\nimport { useLocalizationContext } from '../../hooks/useLocalizationContext';\r\nimport { tryCatchWithLoading } from '../../infrastructure/Utils';\r\nimport { InformationIconButton } from '../common/buttons/InformationIconButton';\r\nimport { PrimaryButton } from '../common/buttons/PrimaryButton';\r\nimport { MonthSelector } from '../common/filter/MonthSelector';\r\nimport { ExportDocument } from './export/ExportDocument';\r\nimport { FilterRevenues } from './FilterRevenues';\r\nimport { RevenuePerDriver } from './RevenuePerDriver';\r\nimport './Revenues.scss';\r\nimport { RevenuesSummary } from './RevenuesSummary';\r\n\r\nexport const Revenues = () => {\r\n const [isFilterOpen, setIsFilterOpen] = useState(false);\r\n const locContext = useLocalizationContext();\r\n const client = useClient(RevenuesClient);\r\n const [queryResult, setQueryResult] = useState({});\r\n const { params, setParams } = useContext(RevenuesQueryParamsContext);\r\n const modalContext = useContext(ModalContext);\r\n useContext(WrapperSearchContext).hide();\r\n const wrapperLoaderContext = useContext(WrapperFullScreenLoadContext);\r\n const [isShowPrintVersion, setIsShowPrintVersion] = useState(false);\r\n\r\n useEffect(() => {\r\n loadRevenues();\r\n },\r\n // eslint-disable-next-line\r\n [params]);\r\n\r\n const loadRevenues = async () => {\r\n const t = await tryCatchWithLoading(client.query(new RevenuesQueryParams(params)), wrapperLoaderContext.setLoading, locContext.serverError);\r\n setQueryResult({});\r\n setQueryResult(t);\r\n }\r\n\r\n const showTotals = () => {\r\n if (!queryResult.values) {\r\n return;\r\n }\r\n modalContext.open(\r\n t.driverName ? t.driverName : '')}\r\n amountExVat={queryResult.totalAmountExVat}\r\n amountInVat={queryResult.totalAmountInVat}\r\n vatAmount={queryResult.totalVatAmount}\r\n previousMonthAmountExVat={queryResult.previousMonthTotalAmountExVat}\r\n percentageChangeAmountExVat={queryResult.percentageChangeTotalAmountExVat} />\r\n , true);\r\n }\r\n\r\n return (\r\n
\r\n \r\n setParams({ ...params, afterDate: val.after, beforeDate: val.before })} />\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n setParams({ ...params, afterDate: val.after, beforeDate: val.before })} />\r\n \r\n
{locContext.total}: € {queryResult.totalAmountExVat}
\r\n {/* {renderChange(queryResult.percentageChangeTotalAmountExVat)} */}\r\n showTotals()} />\r\n
\r\n
\r\n \r\n setIsShowPrintVersion(!isShowPrintVersion)}>{isShowPrintVersion ? locContext.viewWebVersion : locContext.viewPrintVersion}\r\n \r\n \r\n setIsFilterOpen(!isFilterOpen)}>{locContext.filterOn}\r\n \r\n
\r\n
\r\n \r\n {isFilterOpen ?\r\n
\r\n \r\n setParams(pars)} />\r\n
: null}\r\n
\r\n \r\n setParams(pars)} />\r\n \r\n {queryResult.values === undefined || queryResult.values.length === 0 ?\r\n
{locContext.noRevenues}
\r\n :\r\n isShowPrintVersion === false ?\r\n queryResult.values.map(t =>\r\n )\r\n :\r\n \r\n \r\n }\r\n
\r\n
\r\n
\r\n );\r\n}","import React, { useContext } from 'react';\r\nimport { useLocalizationContext } from '../../hooks/useLocalizationContext';\r\nimport { FilterBar } from '../common/filter/FilterBar';\r\nimport { ListFilterItem } from '../common/filter/ListFilterItem';\r\nimport { IOption } from '../../infrastructure/Models';\r\nimport { FilterDataContext } from '../../context/FilterDataContext';\r\nimport { ILeaveOfAbsencesQueryParams } from '../../gen/ApiClients';\r\n\r\ninterface IProps {\r\n params: ILeaveOfAbsencesQueryParams;\r\n onFilter: (params: ILeaveOfAbsencesQueryParams) => void;\r\n}\r\n\r\nfunction isFiltered(pars: ILeaveOfAbsencesQueryParams) {\r\n if (!pars) {\r\n return false;\r\n }\r\n if (pars.driverIds && pars.driverIds.length > 0) {\r\n return true;\r\n }\r\n return false;\r\n}\r\n\r\nexport const FilterLeaveOfAbsences = ({ params, onFilter, }: IProps) => {\r\n const locContext = useLocalizationContext();\r\n const context = useContext(FilterDataContext);\r\n const handleClear = () => {\r\n onFilter({ ...params, driverIds: [] });\r\n }\r\n return (\r\n handleClear()}\r\n isFiltered={isFiltered(params)}>\r\n
\r\n \r\n icon={['fas', 'users']}\r\n label={locContext.driver}\r\n options={context.allFilterableDrivers.map>(t => ({ key: t.id ? t.id : '', value: t.id ? t.id : '', text: t.value ? t.value : '' }))}\r\n selection={params.driverIds ? params.driverIds : []}\r\n onFilter={(val) => onFilter({ ...params, driverIds: val })} />\r\n
\r\n \r\n );\r\n}","import React from 'react';\r\nimport { ILeaveOfAbsencesQueryParams } from '../gen/ApiClients';\r\n\r\ninterface IProps {\r\n\tparams: ILeaveOfAbsencesQueryParams;\r\n\tsetParams: (pars: ILeaveOfAbsencesQueryParams) => void;\r\n}\r\n\r\nexport const LeaveOfAbsencesQueryParamsContext = React.createContext(undefined as any);\r\n","import React, { useState } from 'react';\r\nimport { Table } from 'semantic-ui-react';\r\nimport { JohnDoeAvatar } from '../common/johnDoeAvatar/JohnDoeAvatar';\r\nimport { ILeaveOfAbsencesQueryResult, ILeaveOfAbsenceSummary } from '../../gen/ApiClients';\r\nimport { DateRange } from 'moment-range';\r\nimport moment from 'moment';\r\nimport './LeaveOfAbsencesTable.scss';\r\n\r\ninterface IProps {\r\n queryResult: ILeaveOfAbsencesQueryResult;\r\n onViewDetail: (loas: ILeaveOfAbsenceSummary[]) => void;\r\n onAdd: (date: Date, driverId: string) => void;\r\n}\r\n\r\nexport const LeaveOfAbsencesTable = ({ queryResult, onViewDetail, onAdd }: IProps) => {\r\n if (queryResult.afterDate === undefined || queryResult.beforeDate === undefined || !queryResult.values) {\r\n return null;\r\n }\r\n const dates = Array.from(new DateRange(queryResult.afterDate, queryResult.beforeDate).by('days'));\r\n\r\n const renderSingleCellBis = (m: moment.Moment, vals: ILeaveOfAbsenceSummary[], driverId: string) => {\r\n const x = vals.filter(x => x.date !== undefined && x.date.getFullYear() === m.year() && moment(x.date).dayOfYear() === m.dayOfYear());\r\n if (x.length > 0) {\r\n if (x.length === 1) {\r\n const y = x[0];\r\n const content = y.isWholeDay ? 'X' : y.hours ? y.hours.toString() : 'E';\r\n return onViewDetail(x)} content={content} color={y.isWholeDay ? 'error' : 'warning'} />\r\n } else {\r\n const content = x.flatMap(t => t.hours ? t.hours : 0).reduce((sum, current) => sum + current);\r\n return onViewDetail(x)} content={content.toString()} color=\"warning\" />\r\n }\r\n } else {\r\n return onAdd(m.toDate(), driverId)} />;\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n Chauffeurs\r\n \r\n {dates.map(t => \r\n
\r\n
{t.format('ddd')}
\r\n
{t.date()}
\r\n
\r\n
)}\r\n
\r\n
\r\n \r\n {queryResult.values.map(t =>\r\n \r\n \r\n
\r\n \r\n
{t.driverName}
\r\n
\r\n
\r\n {dates.map(y =>\r\n \r\n {renderSingleCellBis(y, t.values ? t.values : [], t.driverId ? t.driverId : '')}\r\n )}\r\n
)}\r\n
\r\n
\r\n
\r\n );\r\n}\r\n\r\ninterface ILoaCellProps {\r\n content: string;\r\n onClick: () => void;\r\n color: 'error' | 'warning';\r\n}\r\n\r\nconst LoaCell = ({ content, onClick, color }: ILoaCellProps) => {\r\n return (\r\n
onClick()}>\r\n
\r\n {content}\r\n
\r\n
\r\n );\r\n}\r\n\r\ninterface IEmptyCellProps{\r\n onClick: () => void;\r\n}\r\n\r\nconst EmptyCell = ({ onClick }: IEmptyCellProps) => {\r\n const [isHover, setisHover] = useState(false);\r\n return (\r\n
onClick()} onMouseEnter={() => setisHover(true)} onMouseLeave={() => setisHover(false)}>\r\n
\r\n {isHover ? '+' : ''}\r\n
\r\n
\r\n );\r\n}\r\n","import React, { useState } from 'react';\r\nimport './ToggleCheckbox.scss';\r\n\r\ninterface IProps {\r\n onChange?: (val: boolean) => void;\r\n externalProps?: IExternalProps;\r\n}\r\n\r\ninterface IExternalProps {\r\n value: boolean;\r\n setValue: (val: boolean) => void;\r\n}\r\n\r\nexport const ToggleCheckbox = ({ onChange, externalProps }: IProps) => {\r\n const [isChecked, setIsChecked] = useState(false);\r\n\r\n const handleChange = () => {\r\n if (externalProps) {\r\n externalProps.setValue(!externalProps.value);\r\n } else {\r\n setIsChecked(!isChecked);\r\n if (onChange){\r\n onChange(!isChecked);\r\n }\r\n }\r\n }\r\n\r\n return (\r\n \r\n );\r\n}","import React from 'react';\r\nimport { IFieldGroupProps, FieldGroup } from './FieldGroup';\r\nimport { Field } from 'formik';\r\nimport { IOption } from '../../../infrastructure/Models';\r\nimport { CustomDropDown } from '../dropdown/CustomDropdown';\r\nimport './SelectField.scss';\r\nimport { useLocalizationContext } from '../../../hooks/useLocalizationContext';\r\n\r\ninterface IProps extends IFieldGroupProps {\r\n options: IOption[];\r\n placeholder?: string;\r\n}\r\n\r\nexport function SelectField({ options, placeholder, ...props }: IProps) {\r\n const locContext = useLocalizationContext();\r\n const setValue = (fieldProps: any, val: string) => {\r\n fieldProps.form.setFieldValue(fieldProps.field.name, val, true);\r\n }\r\n const getValue = (fieldProps: any) => {\r\n return fieldProps.form.values[fieldProps.field.name];\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n onClear={() => setValue(fieldProps, '')}\r\n placeholder={placeholder ? placeholder : locContext.select}\r\n options={options}\r\n onSelect={(val) => setValue(fieldProps, val)}\r\n selected={getValue(fieldProps)} /> } />\r\n \r\n );\r\n}","import React from 'react';\r\nimport { DateInput } from 'semantic-ui-calendar-react';\r\nimport { DefaultDateFormat } from '../../../constants';\r\nimport { toDefaultDate, toDefaultFormat } from '../../../infrastructure/Utils';\r\nimport { useCombineClassNames } from '../../../hooks/useCombineClassNames';\r\n\r\ninterface IProps {\r\n placeholder?: string;\r\n value: Date | undefined;\r\n onValueChanged: (date: Date | undefined) => void;\r\n className?: string;\r\n}\r\n\r\nexport const DefaultDateInput = ({value, onValueChanged, placeholder, ...rest}: IProps) => {\r\n const handleChange = (e: any, data: any) => {\r\n onValueChanged(toDefaultDate(data.value));\r\n }\r\n const handleClear = () => {\r\n onValueChanged(undefined);\r\n }\r\n\r\n return (\r\n \r\n );\r\n}","import React from 'react';\r\nimport { IFieldGroupProps, FieldGroup } from './FieldGroup';\r\nimport { Field } from 'formik';\r\nimport { DefaultDateInput } from '../fields/DefaultDateInput';\r\nimport './SelectDate.scss';\r\n\r\ninterface IProps extends IFieldGroupProps {\r\n\r\n}\r\n\r\nexport function SelectDate({ ...props }: IProps) {\r\n const setValue = (fieldProps: any, val: Date | undefined) => {\r\n fieldProps.form.setFieldValue(fieldProps.field.name, val, true);\r\n fieldProps.form.setFieldTouched(fieldProps.field.name, true, true);\r\n }\r\n return (\r\n \r\n \r\n setValue(fieldProps, val)} />} />\r\n \r\n );\r\n}","import React from 'react';\r\nimport { TimeInput } from 'semantic-ui-calendar-react';\r\nimport { useCombineClassNames } from '../../../hooks/useCombineClassNames';\r\n\r\ninterface IProps {\r\n placeholder?: string;\r\n value: string | undefined;\r\n onValueChanged: (val: string | undefined) => void;\r\n className?: string;\r\n}\r\n\r\nexport const DefaultTimeInput = ({ placeholder, value, onValueChanged, ...rest }: IProps) => {\r\n const handleChange = (e: any, data: any) => {\r\n onValueChanged(data.value);\r\n }\r\n const handleClear = () => {\r\n onValueChanged(undefined);\r\n }\r\n\r\n return (\r\n \r\n );\r\n}","import React from 'react';\r\nimport { IFieldGroupProps, FieldGroup } from './FieldGroup';\r\nimport { DefaultTimeInput } from '../fields/DefaultTimeInput';\r\nimport './SelectTime.scss';\r\n\r\ninterface IProps extends IFieldGroupProps {\r\n value: string | undefined;\r\n setValue: (str: string | undefined) => void;\r\n}\r\n\r\nexport function SelectTime({ value, setValue, ...props }: IProps) {\r\n return (\r\n \r\n \r\n \r\n );\r\n}","import React, { useState, useContext } from 'react';\r\nimport { useLocalizationContext } from '../../hooks/useLocalizationContext';\r\nimport { FormikProps, Formik, Form, FormikActions } from 'formik';\r\nimport { ILeaveOfAbsenceModel, LeaveOfAbsencesClient, LeaveOfAbsenceModel } from '../../gen/ApiClients';\r\nimport { TextLinkButton } from '../common/buttons/TextLinkButton';\r\nimport { PrimaryButton } from '../common/buttons/PrimaryButton';\r\nimport { ToggleCheckbox } from '../common/ToggleCheckbox';\r\nimport { SelectField } from '../common/forms/SelectField';\r\nimport { FilterDataContext } from '../../context/FilterDataContext';\r\nimport { IOption } from '../../infrastructure/Models';\r\nimport { SelectDate } from '../common/forms/SelectDate';\r\nimport { SelectTime } from '../common/forms/SelectTime';\r\nimport { setFieldTouched, setFieldError } from '../common/forms/FormsUtils';\r\nimport { useClient } from '../../hooks/useClient';\r\nimport { Responsive } from 'semantic-ui-react';\r\nimport moment from 'moment';\r\nimport * as yup from 'yup';\r\nimport './LeaveOfAbsenceForm.scss';\r\n\r\ninterface IProps {\r\n onSubmit: (model: ILeaveOfAbsenceModel) => Promise;\r\n onCancel: () => void;\r\n model?: ILeaveOfAbsenceModel;\r\n}\r\n\r\ninterface IModel extends ILeaveOfAbsenceModel {\r\n fromTime?: string;\r\n toTime?: string;\r\n}\r\n\r\nfunction addTimeToDate(date: Date, str: string): Date {\r\n const splits = str.split(':');\r\n return moment(date).set({ hour: Number(splits[0]), minute: Number(splits[1]), second: 0, millisecond: 0 }).toDate();\r\n}\r\n\r\nexport const LeaveOfAbsenceForm = ({ onSubmit, onCancel, model }: IProps) => {\r\n const client = useClient(LeaveOfAbsencesClient);\r\n const context = useContext(FilterDataContext);\r\n const options = context.allFilterableDrivers.map>(t => ({ key: t.id ? t.id : '', value: t.id ? t.id : '', text: t.value ? t.value : '', }));\r\n const [isWholeDay, setIsWholeDay] = useState(true);\r\n const locContext = useLocalizationContext();\r\n const validateSchema = isWholeDay === false ?\r\n yup.object().shape({\r\n driverId: yup\r\n .string()\r\n .required(locContext.validateSelectDriver),\r\n fromDate: yup\r\n .date()\r\n .required(locContext.validateDate),\r\n fromTime: yup\r\n .string()\r\n .required(locContext.validateFromTime),\r\n toTime: yup\r\n .string()\r\n .required(locContext.validateToTime),\r\n })\r\n : yup.object().shape({\r\n driverId: yup\r\n .string()\r\n .required(locContext.validateSelectDriver),\r\n fromDate: yup\r\n .date()\r\n .required(locContext.validateFromDate),\r\n })\r\n\r\n const onClickSubmit = async (props: FormikProps, e: any) => {\r\n e.persist();\r\n const isValid = await validateSchema.isValid(props.values);\r\n if (!isValid) {\r\n e.preventDefault();\r\n }\r\n setFieldTouched('driverId', props);\r\n setFieldTouched('fromDate', props);\r\n setFieldTouched('toDate', props);\r\n setFieldTouched('fromTime', props);\r\n setFieldTouched('toTime', props);\r\n }\r\n\r\n const handleSubmit = async (values: IModel, actions: FormikActions) => {\r\n actions.setSubmitting(true);\r\n values = { ...values, isWholeDay: isWholeDay, fromDate: moment(values.fromDate).startOf(\"day\").toDate(), toDate: moment(values.fromDate).endOf('day').toDate() };\r\n if (!isWholeDay) {\r\n values = {\r\n ...values,\r\n isWholeDay: false,\r\n fromDate: addTimeToDate(values.fromDate ? values.fromDate : new Date(), values.fromTime ? values.fromTime : '01:00'),\r\n toDate: addTimeToDate(values.fromDate ? values.fromDate : new Date(), values.toTime ? values.toTime : '00:00')\r\n }\r\n if (moment(values.fromTime, 'HH:mm') > moment(values.toTime, 'HH:mm')) {\r\n setFieldError('toTime', locContext.toTimeMustBeLargerThanFromTime, actions);\r\n actions.setSubmitting(false);\r\n return;\r\n }\r\n }\r\n const r = await client.canInsert(new LeaveOfAbsenceModel(values));\r\n if (r.hasError) {\r\n setFieldError('fromDate', r.errorMessage ? r.errorMessage : 'Error!', actions);\r\n } else {\r\n await onSubmit(values);\r\n }\r\n actions.setSubmitting(false);\r\n }\r\n\r\n const setTime = (str: string | undefined, key: keyof IModel, props: FormikProps) => {\r\n props.setFieldValue(key, str);\r\n }\r\n\r\n return (\r\n
\r\n \r\n initialValues={model ? model : {}}\r\n isInitialValid={true}\r\n validationSchema={validateSchema}\r\n onSubmit={handleSubmit}>\r\n {(props) => (\r\n
\r\n
\r\n
{locContext.leaveOfAbsenceFormTitle}
\r\n options={options} label={locContext.driver} xName=\"driverId\" />\r\n label={locContext.date} xName=\"fromDate\" />\r\n
\r\n
{locContext.wholeDay}
\r\n \r\n
\r\n {isWholeDay ? null :\r\n
\r\n value={props.values.fromTime} setValue={(val) => setTime(val, 'fromTime', props)} label={locContext.startTime} xName='fromTime' />\r\n value={props.values.toTime} setValue={(val) => setTime(val, 'toTime', props)} label={locContext.endTime} xName='toTime' />\r\n
\r\n }\r\n \r\n
\r\n
\r\n onCancel()}>{locContext.cancel}\r\n onClickSubmit(props, e)} showLoader>{locContext.add}\r\n
\r\n
\r\n
\r\n \r\n
\r\n onClickSubmit(props, e)} showLoader>{locContext.add}\r\n onCancel()}>{locContext.cancel}\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 { ILeaveOfAbsenceSummary } from '../../gen/ApiClients';\r\nimport { TextLinkButton } from '../common/buttons/TextLinkButton';\r\nimport { PrimaryButton } from '../common/buttons/PrimaryButton';\r\nimport { useLocalizationContext } from '../../hooks/useLocalizationContext';\r\nimport { toDefaultFormat } from '../../infrastructure/Utils';\r\nimport './LeaveOfAbsenceDetail.scss';\r\nimport { IconButton } from '../common/buttons/IconButton';\r\nimport { Responsive } from 'semantic-ui-react';\r\n\r\ninterface IProps {\r\n loas: ILeaveOfAbsenceSummary[];\r\n onCancel: () => void;\r\n onDelete: (id: string | undefined) => void;\r\n onDeleteAll: (id: (string | undefined)[]) => void;\r\n}\r\nexport const LeaveOfAbsenceDetail = ({ loas, onCancel, onDelete, onDeleteAll }: IProps) => {\r\n const locContext = useLocalizationContext();\r\n\r\n return (\r\n
\r\n
\r\n
\r\n {locContext.leaveOfAbsence}\r\n
\r\n
{locContext.driver}
\r\n
{loas[0].driverName}
\r\n {loas[0].isWholeDay ?\r\n
\r\n
{locContext.date} ({locContext.wholeDay})
\r\n
{toDefaultFormat(loas[0].date)}
\r\n
\r\n :
\r\n
{locContext.date}
\r\n
{toDefaultFormat(loas[0].date)}
\r\n
{locContext.startTime} - {locContext.endTime} ({locContext.hours})
\r\n {loas.map(t =>
{t.fromTime} - {t.toTime} ({t.hours}) {loas.length > 1 ? onDelete(t.id)} /> : null}
)}\r\n
}\r\n
\r\n \r\n
\r\n
\r\n onCancel()}>{locContext.cancel}\r\n onDeleteAll(loas.flatMap(t => t.id))}>{loas.length > 1 ? locContext.deleteAll : locContext.delete}\r\n
\r\n
\r\n
\r\n \r\n
\r\n onDeleteAll(loas.flatMap(t => t.id))}>{loas.length > 1 ? locContext.deleteAll : locContext.delete}\r\n onCancel()}>{locContext.cancel}\r\n
\r\n
\r\n
\r\n );\r\n}","import React, { useContext, useState, useEffect } from 'react';\r\nimport { Card, Divider, Responsive } from 'semantic-ui-react';\r\nimport { PrimaryButton } from '../common/buttons/PrimaryButton';\r\nimport { useLocalizationContext } from '../../hooks/useLocalizationContext';\r\nimport { FilterLeaveOfAbsences } from './FilterLeaveOfAbsences';\r\nimport { LeaveOfAbsencesQueryParamsContext } from '../../context/LeaveOfAbsencesQueryParamsContext';\r\nimport { LeaveOfAbsencesTable } from './LeaveOfAbsencesTable';\r\nimport { useClient } from '../../hooks/useClient';\r\nimport { LeaveOfAbsencesClient, ILeaveOfAbsencesQueryResult, LeaveOfAbsencesQueryParams, LeaveOfAbsenceModel, ILeaveOfAbsenceSummary } from '../../gen/ApiClients';\r\nimport { ModalContext } from '../../context/ModalContext';\r\nimport { LeaveOfAbsenceForm } from './LeaveOfAbsenceForm';\r\nimport { useTrigger } from '../../hooks/useTrigger';\r\nimport { LeaveOfAbsenceDetail } from './LeaveOfAbsenceDetail';\r\nimport { BaseConfirmation } from '../common/modal/BaseConfirmation';\r\nimport { WrapperSearchContext } from '../../context/WrapperSearchTextContext';\r\nimport { MonthSelector } from '../common/filter/MonthSelector';\r\nimport { WrapperFullScreenLoadContext } from '../../context/WrapperFullScreenLoadContext';\r\nimport { showSuccessToast, showErrorToast } from '../common/toast/ToastNotification';\r\nimport { JohnDoeAvatar } from '../common/johnDoeAvatar/JohnDoeAvatar';\r\nimport { toDefaultFormat, tryCatchWithLoading, tryCatch } from '../../infrastructure/Utils';\r\nimport './LeaveOfAbsences.scss';\r\n\r\nexport const LeaveOfAbsences = () => {\r\n const [isFilterOpen, setIsFilterOpen] = useState(false);\r\n const locContext = useLocalizationContext();\r\n const { params, setParams } = useContext(LeaveOfAbsencesQueryParamsContext);\r\n const client = useClient(LeaveOfAbsencesClient);\r\n const [queryResult, setQueryResult] = useState({});\r\n const modalContext = useContext(ModalContext);\r\n const [trigger, hitTrigger] = useTrigger();\r\n useContext(WrapperSearchContext).hide();\r\n const wrapperLoaderContext = useContext(WrapperFullScreenLoadContext);\r\n\r\n useEffect(() => {\r\n load();\r\n }, \r\n // eslint-disable-next-line\r\n [params, trigger]);\r\n\r\n const load = async () => {\r\n setQueryResult(await tryCatchWithLoading(client.query(new LeaveOfAbsencesQueryParams(params)), wrapperLoaderContext.setLoading, locContext.serverError));\r\n }\r\n\r\n const addLeaveOfAbsence = () => {\r\n modalContext.open(\r\n {\r\n modalContext.close();\r\n await tryCatch(client.insert(new LeaveOfAbsenceModel(val)), locContext.serverError);\r\n hitTrigger();\r\n showSuccessToast(locContext.leaveOfAbsenceAdded);\r\n }}\r\n onCancel={() => modalContext.close()}\r\n />\r\n , false);\r\n }\r\n\r\n const addLeaveOfAbsenceOnDateForDriver = (date: Date, driverId: string) => {\r\n modalContext.open(\r\n { \r\n await tryCatch(client.insert(new LeaveOfAbsenceModel(val)), locContext.serverError);\r\n hitTrigger();\r\n showSuccessToast(locContext.leaveOfAbsenceAdded);\r\n modalContext.close();\r\n }}\r\n onCancel={() => modalContext.close()}\r\n />\r\n , false);\r\n }\r\n\r\n const onDelete = (ids: (string | undefined)[]) => {\r\n modalContext.open( modalContext.close()}\r\n confirm={async () => {\r\n if (ids) {\r\n let e: string | undefined = '';\r\n for (let index = 0; index < ids.length; index++) {\r\n const x = ids[index];\r\n if (x !== undefined) {\r\n const r = await tryCatch(client.delete(x), locContext.serverError);\r\n if (r.hasError){\r\n e = r.error;\r\n }\r\n }\r\n } \r\n hitTrigger();\r\n if (e) {\r\n showErrorToast(e);\r\n } else {\r\n showSuccessToast(locContext.leaveOfAbsenceDeleted);\r\n }\r\n }\r\n modalContext.close();\r\n }}\r\n />)\r\n }\r\n\r\n const viewDetail = (loas: ILeaveOfAbsenceSummary[]) => {\r\n modalContext.open(\r\n modalContext.close()}\r\n onDelete={(id) => {\r\n modalContext.close();\r\n onDelete([id]);\r\n }}\r\n onDeleteAll={(ids) => {\r\n modalContext.close();\r\n onDelete(ids);\r\n }}\r\n />\r\n )\r\n }\r\n\r\n return (\r\n
\r\n \r\n setParams({ ...params, afterDate: val.after, beforeDate: val.before })} />\r\n \r\n \r\n
\r\n
\r\n
\r\n addLeaveOfAbsence()}>+ {locContext.addLeaveOfAbsence}\r\n \r\n setParams({ ...params, afterDate: val.after, beforeDate: val.before })} />\r\n \r\n
\r\n
\r\n \r\n setIsFilterOpen(!isFilterOpen)}>{locContext.filterOn}\r\n \r\n
\r\n
\r\n \r\n {isFilterOpen ?\r\n
\r\n \r\n setParams(pars)} />\r\n \r\n
: }\r\n
\r\n \r\n setParams(pars)} />\r\n \r\n \r\n viewDetail(loa)} onAdd={(date, driver) => addLeaveOfAbsenceOnDateForDriver(date, driver)} />\r\n \r\n \r\n {queryResult && queryResult.values ?\r\n queryResult.values.map(t =>\r\n
\r\n
\r\n
\r\n \r\n
{t.driverName}
\r\n
\r\n {t.values ? t.values.map(x =>\r\n
viewDetail([x])}>\r\n {toDefaultFormat(x.date)} {x.isWholeDay ? null : `${x.fromTime} - ${x.toTime} (${x.hours})`}\r\n
\r\n ) : null}\r\n
\r\n \r\n
\r\n ) : null}\r\n
\r\n
\r\n
\r\n
\r\n );\r\n}\r\n\r\n","import React, { useState, useEffect } from 'react';\r\nimport { FilterItem } from './FilterItem';\r\nimport { IconProp } from '@fortawesome/fontawesome-svg-core';\r\nimport { enumToOptions, toDefaultFormat, toDefaultStartOfDay, toDefaultEndOfDay } from '../../../infrastructure/Utils';\r\nimport { CustomListItem } from './CustomListItem';\r\nimport { DatesRangeInput } from 'semantic-ui-calendar-react';\r\nimport { DefaultDateFormat } from '../../../constants';\r\nimport { useLocalizationContext } from '../../../hooks/useLocalizationContext';\r\nimport { Responsive } from 'semantic-ui-react';\r\nimport moment from 'moment';\r\nimport './DateFilterItem.scss';\r\n\r\ninterface IProps {\r\n icon?: IconProp;\r\n undefinedLabel: string;\r\n afterDate: Date | undefined;\r\n beforeDate: Date | undefined;\r\n onFilter: (value: IDateOutput) => void;\r\n}\r\n\r\nenum DateFilterEnum {\r\n Today,\r\n Yesterday,\r\n ThisWeek,\r\n LastWeek,\r\n ThisMonth,\r\n LastMonth,\r\n ThisYear,\r\n LastYear,\r\n}\r\n\r\nconst toText = (dateOutput: IDateOutput) => {\r\n return `${toDefaultFormat(dateOutput.after)} - ${toDefaultFormat(dateOutput.before)}`;\r\n}\r\n\r\ninterface IDateCalc {\r\n after: Date;\r\n before: Date;\r\n shortCode: DateFilterEnum;\r\n}\r\n\r\nfunction calculateDates(date: Date): Map {\r\n const output = new Map();\r\n output.set(DateFilterEnum.Today, {\r\n after: moment(date).startOf(\"day\").toDate(),\r\n before: moment(date).endOf(\"day\").toDate(),\r\n shortCode: DateFilterEnum.Today\r\n });\r\n output.set(DateFilterEnum.Yesterday, {\r\n after: moment(date).add(-1, \"days\").startOf(\"day\").toDate(),\r\n before: moment(date).add(-1, \"days\").endOf(\"day\").toDate(),\r\n shortCode: DateFilterEnum.Yesterday\r\n });\r\n output.set(DateFilterEnum.ThisWeek, {\r\n after: moment(date).startOf(\"week\").toDate(),\r\n before: moment(date).endOf(\"week\").toDate(),\r\n shortCode: DateFilterEnum.ThisWeek\r\n });\r\n output.set(DateFilterEnum.LastWeek, {\r\n after: moment(date).add(-1, \"weeks\").startOf(\"week\").toDate(),\r\n before: moment(date).add(-1, \"weeks\").endOf(\"week\").toDate(),\r\n shortCode: DateFilterEnum.LastWeek\r\n });\r\n output.set(DateFilterEnum.ThisMonth, {\r\n after: moment(date).startOf(\"month\").toDate(),\r\n before: moment(date).endOf(\"month\").toDate(),\r\n shortCode: DateFilterEnum.ThisMonth\r\n });\r\n output.set(DateFilterEnum.LastMonth, {\r\n after: moment(date).add(-1, \"months\").startOf(\"month\").toDate(),\r\n before: moment(date).add(-1, \"months\").endOf(\"month\").toDate(),\r\n shortCode: DateFilterEnum.LastMonth\r\n });\r\n output.set(DateFilterEnum.ThisYear, {\r\n after: moment(date).startOf(\"year\").toDate(),\r\n before: moment(date).endOf(\"year\").toDate(),\r\n shortCode: DateFilterEnum.ThisYear\r\n });\r\n output.set(DateFilterEnum.LastYear, {\r\n after: moment(date).add(-1, \"years\").startOf(\"year\").toDate(),\r\n before: moment(date).add(-1, \"years\").endOf(\"year\").toDate(),\r\n shortCode: DateFilterEnum.LastYear\r\n });\r\n return output;\r\n}\r\n\r\nfunction match(calcs: Map, after: Date | undefined, before: Date | undefined): DateFilterEnum | undefined {\r\n if (after === undefined || before === undefined) {\r\n return undefined;\r\n } else {\r\n const matched = Array.from(calcs.values()).find(t => t.after.toString() === after.toString() && t.before.toString() === before.toString());\r\n // const matched = Array.from(calcs.values()).find(t => t.after === after && t.before === before);\r\n if (matched) {\r\n return matched.shortCode;\r\n } else {\r\n return undefined;\r\n }\r\n }\r\n}\r\n\r\ninterface IDateOutput {\r\n after: Date | undefined;\r\n before: Date | undefined;\r\n}\r\n\r\n\r\n\r\nexport const DateFilterItem = ({ icon = ['fas', 'calendar'], undefinedLabel, afterDate, beforeDate, onFilter, }: IProps) => {\r\n const locContext = useLocalizationContext();\r\n const translations = new Map([\r\n [DateFilterEnum.Today, locContext.today],\r\n [DateFilterEnum.Yesterday, locContext.yesterday],\r\n [DateFilterEnum.ThisWeek, locContext.thisWeek],\r\n [DateFilterEnum.LastWeek, locContext.lastWeek],\r\n [DateFilterEnum.ThisMonth, locContext.thisMonth],\r\n [DateFilterEnum.LastMonth, locContext.lastMonth],\r\n [DateFilterEnum.ThisYear, locContext.thisYear],\r\n [DateFilterEnum.LastYear, locContext.lastYear]]);\r\n const dateCalcs = calculateDates(new Date());\r\n const options = enumToOptions(DateFilterEnum, translations);\r\n const [shortCode, setShortCode] = useState();\r\n const [val, setVal] = useState({ after: afterDate, before: beforeDate });\r\n const [label, setLabel] = useState(undefinedLabel);\r\n const [isSubmitted, setIsSubmitted] = useState(false);\r\n\r\n if (isSubmitted && (val.after !== afterDate || val.before !== beforeDate)) {\r\n setVal({ after: afterDate, before: beforeDate });\r\n }\r\n\r\n const onManualSet = (e: any, data: { value: string }) => {\r\n var splits = data.value.split(' - ');\r\n const xAfter = toDefaultStartOfDay(splits[0]);\r\n const xBefore = toDefaultEndOfDay(splits[1]);\r\n if (splits[0] && splits[1]) {\r\n setVal({ after: xAfter, before: xBefore });\r\n } else if (splits[0]) {\r\n setVal({ after: xAfter, before: undefined });\r\n } else {\r\n setVal({ after: undefined, before: undefined });\r\n }\r\n setShortCode(match(dateCalcs, xAfter, xBefore));\r\n }\r\n const onChangeShortCode = (shortCode: number) => {\r\n setShortCode(shortCode);\r\n const x = shortCode !== undefined ? dateCalcs.get(DateFilterEnum[shortCode] as any) : undefined;\r\n if (x) {\r\n setVal({ after: x.after, before: x.before });\r\n } else {\r\n setVal({ after: undefined, before: undefined });\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n if (val.after === undefined || val.before === undefined) {\r\n setLabel(undefinedLabel);\r\n setShortCode(undefined);\r\n } else {\r\n const xx = shortCode ? translations.get(DateFilterEnum[shortCode] as any) : undefined;\r\n if (xx) {\r\n setLabel(xx);\r\n } else {\r\n setLabel(`${moment(val.after).format('DD/MM')}-${moment(val.before).format('DD/MM')}`);\r\n }\r\n }\r\n }, \r\n // eslint-disable-next-line\r\n [shortCode, val]);\r\n\r\n const onClickAway = () => {\r\n if (val.after !== afterDate || val.before !== beforeDate) {\r\n onFilter(val);\r\n }\r\n setIsSubmitted(true);\r\n }\r\n\r\n return (\r\n onClickAway()}\r\n noMaxHeight={true}\r\n onOpened={() => setIsSubmitted(false)}>\r\n
\r\n
\r\n \r\n
\r\n {options.map(t =>\r\n onChangeShortCode(t.value)}\r\n checked={t.value === shortCode} />)}\r\n
\r\n
\r\n { }}\r\n closable\r\n inline={true}\r\n allowSameEndDate={true} />\r\n
\r\n
\r\n \r\n );\r\n}","import React, { useState } from 'react';\r\nimport { empty, nameof } from '../infrastructure/Utils';\r\nimport { INotificationsQueryParams, INotification } from '../gen/ApiClients';\r\n\r\ninterface IProps {\r\n params: INotificationsQueryParams;\r\n setParams: (pars: INotificationsQueryParams) => void;\r\n}\r\n\r\nconst fallbackProps: IProps = {\r\n params: {\r\n pageIndex: 1,\r\n pageSize: 10,\r\n sortProperty: nameof('date'),\r\n sortDirection: 'descending',\r\n },\r\n setParams: empty,\r\n}\r\n\r\nexport const NotificationsQueryParamsContext = React.createContext(fallbackProps);\r\n\r\nexport const NotificationsQueryParamsProvider = ({ children }: any) => {\r\n const [params, setParams] = useState(fallbackProps.params);\r\n\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n}","import React from 'react';\r\nimport { IconProp } from \"@fortawesome/fontawesome-svg-core\";\r\nimport { IOption } from \"../../../infrastructure/Models\";\r\nimport { ListFilterItem } from './ListFilterItem';\r\n\r\ninterface IProps {\r\n trueText: string;\r\n falseText: string;\r\n icon: IconProp;\r\n label: string;\r\n value: boolean | undefined;\r\n onFilter: (value: boolean | undefined) => void;\r\n}\r\n\r\nexport const BooleanFilterItem = ({trueText, falseText, icon, label, value, onFilter, ...rest}: IProps) => {\r\n const options: IOption[] = [\r\n { key: 'true', text: trueText, value: 0},\r\n { key: 'false', text: falseText, value: 1},\r\n ]\r\n\r\n const handleFilter = (sel: number[]) => {\r\n if (sel.includes(0) && sel.includes(1)) {\r\n onFilter(undefined);\r\n } else if (sel.includes(0)) {\r\n onFilter(true);\r\n } else if (sel.includes(1)) {\r\n onFilter(false);\r\n } else {\r\n onFilter(undefined);\r\n }\r\n }\r\n\r\n return (\r\n \r\n );\r\n}","import React from 'react';\r\nimport { useLocalizationContext } from '../../hooks/useLocalizationContext';\r\nimport { FilterBar } from '../common/filter/FilterBar';\r\nimport { INotificationsQueryParams } from '../../gen/ApiClients';\r\nimport { BooleanFilterItem } from '../common/filter/BooleanFilterItem';\r\nimport { DateFilterItem } from '../common/filter/DateFilterItem';\r\n\r\ninterface IProps {\r\n params: INotificationsQueryParams;\r\n onFilter: (params: INotificationsQueryParams) => void;\r\n}\r\n\r\nfunction isFiltered(pars: INotificationsQueryParams): boolean {\r\n if (pars === undefined){\r\n return false;\r\n } else if (pars.afterDate || pars.beforeDate) {\r\n return true;\r\n } else {\r\n return (pars.isRead === true || pars.isRead === false)\r\n }\r\n}\r\n\r\nexport const FilterNotifications = ({ params, onFilter, }: IProps) => {\r\n const locContext = useLocalizationContext();\r\n const handleClear = () => {\r\n onFilter({ ...params, isRead: undefined, afterDate: undefined, beforeDate: undefined });\r\n }\r\n return (\r\n handleClear()}\r\n isFiltered={isFiltered(params)}>\r\n
\r\n onFilter({ ...params, isRead: val })} />\r\n onFilter({ ...params, afterDate: val.after, beforeDate: val.before })} />\r\n
\r\n \r\n );\r\n}","import React from \"react\";\r\nimport { useLocalizationContext } from \"../../../hooks/useLocalizationContext\";\r\nimport { PrimaryButton } from \"../buttons/PrimaryButton\";\r\nimport { IQueryResult } from \"../../../infrastructure/Models\";\r\nimport \"./PagingFooter.scss\";\r\nimport { useCombineClassNames } from \"../../../hooks/useCombineClassNames\";\r\n\r\ninterface IProps {\r\n qr: IQueryResult;\r\n onNext: () => void;\r\n onPrevious: () => void;\r\n singleIdentifier: string;\r\n className?: string;\r\n}\r\n\r\nexport function PagingFooter({\r\n qr,\r\n onNext,\r\n onPrevious,\r\n singleIdentifier,\r\n ...rest\r\n}: IProps) {\r\n const locContext = useLocalizationContext();\r\n return (\r\n
\r\n
\r\n {locContext.formatString(\r\n \"pagingTable\",\r\n singleIdentifier,\r\n qr.currentFrom,\r\n qr.currentTo,\r\n qr.totals\r\n )}\r\n
\r\n
\r\n \r\n {locContext.previous}\r\n \r\n \r\n {locContext.next}\r\n \r\n
\r\n
\r\n );\r\n}\r\n","import React from 'react';\r\nimport { Table } from 'semantic-ui-react';\r\nimport { useTablePage } from '../../../hooks/useTableSortAndPage';\r\nimport { BaseTableSort } from './BaseTableSort';\r\nimport { IHeader, IQueryResult, ISortAndPageProps, ISortProps } from '../../../infrastructure/Models';\r\nimport { PagingFooter } from './PagingFooter';\r\nimport './BaseTable.scss';\r\n\r\ninterface IProps {\r\n\tcanSort: boolean;\r\n\theaders: IHeader[];\r\n\tuniqueIdentifier: keyof T;\r\n\tqueryResult: IQueryResult | undefined;\r\n\tparams: TQueryParams;\r\n\tonSortOrPage: (params: TQueryParams) => void;\r\n\tfallbackSortProps?: ISortProps;\r\n\tclassName?: string;\r\n\tsingleIdentifier: string;\r\n\tonClickRow?: (inst: T) => void;\r\n\tformatRow?: (inst: T) => string;\r\n}\r\n\r\nexport function BaseTableSortAndPage({\r\n\tqueryResult,\r\n\tonSortOrPage,\r\n\tparams,\r\n\tsingleIdentifier,\r\n\tonClickRow,\r\n\tformatRow,\r\n\t...rest\r\n}: IProps) {\r\n\tconst [next, previous] = useTablePage();\r\n\tif (!queryResult || !queryResult.values) {\r\n\t\treturn null;\r\n\t}\r\n\r\n\tfunction renderFooter(qr: IQueryResult) {\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\tconsole.log('on click next');\r\n\t\t\t\t\t\t\t\tconst nextParams = next(params);\r\n\t\t\t\t\t\t\t\tconsole.log(nextParams);\r\n\t\t\t\t\t\t\t\tonSortOrPage(nextParams);\r\n\t\t\t\t\t\t\t\t// onSortOrPage(next(params));\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\tonPrevious={() => onSortOrPage(previous(params))}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t);\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{...rest}\r\n\t\t\tparams={params}\r\n\t\t\tvalues={queryResult.values}\r\n\t\t\tonSort={t => onSortOrPage(t)}\r\n\t\t\tfooter={renderFooter(queryResult)}\r\n\t\t\tonClickRow={onClickRow}\r\n\t\t\tformatRow={formatRow}\r\n\t\t/>\r\n\t);\r\n}\r\n","import React, { useState, useEffect, useContext } from 'react';\r\nimport { Card, Responsive, Divider } from 'semantic-ui-react';\r\nimport { INotification, INotificationQueryResult, NotificationsQueryParams, NotificationsClient, INotificationsQueryParams } from '../../gen/ApiClients';\r\nimport { toDefaultFormat, tryCatchWithLoading } from '../../infrastructure/Utils';\r\nimport { useLocalizationContext } from '../../hooks/useLocalizationContext';\r\nimport { NotificationsQueryParamsContext } from '../../context/NotificationsQueryParamsContext';\r\nimport { useClient } from '../../hooks/useClient';\r\nimport { FilterNotifications } from './FilterNotifications';\r\nimport { BaseTableSortAndPage } from '../common/table/BaseTableSortAndPage';\r\nimport { NotificationsContext } from '../../context/NotificationsContext';\r\nimport { createHeader, createSortableHeader } from '../common/table/TableUtils';\r\nimport { WrapperSearchContext } from '../../context/WrapperSearchTextContext';\r\nimport { WrapperFullScreenLoadContext } from '../../context/WrapperFullScreenLoadContext';\r\nimport { PrimaryButton } from '../common/buttons/PrimaryButton';\r\nimport { PagingFooter } from '../common/table/PagingFooter';\r\nimport './Notifications.scss';\r\n\r\nexport const Notifications = () => {\r\n\tconst [isFilterOpen, setIsFilterOpen] = useState(false);\r\n\tconst locContext = useLocalizationContext();\r\n\tconst [queryResult, setQueryResult] = useState();\r\n\tconst { params, setParams } = useContext(NotificationsQueryParamsContext);\r\n\tconst client = useClient(NotificationsClient);\r\n\tconst context = useContext(NotificationsContext);\r\n\tconst wrapperLoaderContext = useContext(WrapperFullScreenLoadContext);\r\n\tuseContext(WrapperSearchContext).init(`${locContext.searchOnTitleOrDescription}...`, params.searchString, (str: string) => {\r\n\t\tsetParams({ ...params, searchString: str, pageIndex: 1 });\r\n\t});\r\n\r\n\tuseEffect(\r\n\t\t() => {\r\n\t\t\tload();\r\n\t\t},\r\n\t\t// eslint-disable-next-line\r\n\t\t[params, context.trigger]\r\n\t);\r\n\r\n\tconst load = async () => {\r\n\t\tsetQueryResult(await tryCatchWithLoading(client.query(new NotificationsQueryParams(params)), wrapperLoaderContext.setLoading, locContext.serverError));\r\n\t};\r\n\r\n\tconst headers = [\r\n\t\tcreateSortableHeader(locContext.date, 'date', t => toDefaultFormat(t.date)),\r\n\t\tcreateHeader(locContext.title, t => t.title),\r\n\t\tcreateHeader(locContext.description, t => t.description),\r\n\t\tcreateHeader(locContext.status, t => (t.isRead ? locContext.read : locContext.unread)),\r\n\t];\r\n\r\n\tconst formatRow = (inst: INotification): string => {\r\n\t\tconst x1 = inst.isRead ? '' : 'font-bold ';\r\n\t\tconst x2 = inst.isHighPriority ? 'font-error' : '';\r\n\t\treturn x1 + x2;\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
{locContext.notifications}
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t setIsFilterOpen(!isFilterOpen)}>\r\n\t\t\t\t\t\t\t{locContext.filterOn}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{isFilterOpen ? (\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t setParams({ ...pars, pageIndex: 1 })}\r\n\t\t\t\t\t\t\t\tparams={params}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t) : null}\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t setParams({ ...pars, pageIndex: 1 })}\r\n\t\t\t\t\t\tparams={params}\r\n\t\t\t\t\t/>\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tparams={params}\r\n\t\t\t\t\t\tonSortOrPage={t => setParams(t)}\r\n\t\t\t\t\t\tqueryResult={queryResult}\r\n\t\t\t\t\t\tcanSort={true}\r\n\t\t\t\t\t\theaders={headers}\r\n\t\t\t\t\t\tuniqueIdentifier='id'\r\n\t\t\t\t\t\tsingleIdentifier={locContext.notification}\r\n\t\t\t\t\t\tonClickRow={inst => context.show(inst)}\r\n\t\t\t\t\t\tformatRow={inst => formatRow(inst)}\r\n\t\t\t\t\t/>\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{queryResult && queryResult.values ? (\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t{queryResult.values.map(t => (\r\n\t\t\t\t\t\t\t\t context.show(t)}>\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
{t.title}
\r\n\t\t\t\t\t\t\t\t\t\t\t
{t.description}
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t setParams({ ...params, pageIndex: params.pageIndex ? params.pageIndex + 1 : 1 })}\r\n\t\t\t\t\t\t\t\tonPrevious={() => setParams({ ...params, pageIndex: params.pageIndex ? params.pageIndex - 1 : 1 })}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t) : null}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n};\r\n","import React from 'react';\r\nimport { Field } from 'formik';\r\nimport { FieldGroup, IFieldGroupProps } from './FieldGroup';\r\nimport './TextareaField.scss';\r\n\r\n// export const TextareaField = (props: IFieldGroupProps) => {\r\nexport function TextareaField(props: IFieldGroupProps) {\r\n return (\r\n \r\n \r\n \r\n );\r\n}\r\n","import React from 'react';\r\nimport { Formik, Form, FormikProps } from 'formik';\r\nimport { useLocalizationContext } from '../../hooks/useLocalizationContext';\r\nimport { TextareaField } from '../common/forms/TextareaField';\r\nimport { TextLinkButton } from '../common/buttons/TextLinkButton';\r\nimport { PrimaryButton } from '../common/buttons/PrimaryButton';\r\nimport './DisputeRevenueForm.scss';\r\nimport * as yup from 'yup';\r\nimport { setFieldTouched } from '../common/forms/FormsUtils';\r\nimport { Responsive } from 'semantic-ui-react';\r\n\r\ninterface IProps {\r\n fileNumber: string;\r\n onSend: (message: string) => Promise;\r\n onCancel: () => void;\r\n}\r\n\r\ninterface IModel {\r\n message: string;\r\n}\r\n\r\nexport const DisputeRevenueForm = ({ fileNumber, onSend, onCancel }: IProps) => {\r\n const locContext = useLocalizationContext();\r\n const validateSchema = yup.object().shape({\r\n message: yup\r\n .string()\r\n .required(locContext.validateDisputeMessage),\r\n });\r\n\r\n const onClickSubmit = async (props: FormikProps, e: any) => {\r\n props.setSubmitting(true);\r\n e.preventDefault();\r\n setFieldTouched('message', props);\r\n if (props.isValid) {\r\n await onSend(props.values.message);\r\n }\r\n props.setSubmitting(false);\r\n }\r\n\r\n return (\r\n
\r\n \r\n initialValues={{ message: '' }}\r\n isInitialValid={true}\r\n validationSchema={validateSchema}\r\n onSubmit={() => { }}>\r\n {(props) => (\r\n
\r\n
\r\n
{locContext.disputeData}
\r\n
{locContext.fileNumber}
\r\n
{fileNumber}
\r\n label={locContext.labelDisputeMessage} xName=\"message\" />\r\n \r\n
\r\n
\r\n onCancel()}>{locContext.cancel}\r\n onClickSubmit(props, e)}>{locContext.send}\r\n
\r\n
\r\n
\r\n \r\n
\r\n onClickSubmit(props, e)}>{locContext.send}\r\n onCancel()}>{locContext.cancel}\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 { IStop } from '../../gen/ApiClients';\r\nimport { useLocalizationContext } from '../../hooks/useLocalizationContext';\r\nimport moment from 'moment';\r\nimport { DefaultDateFormat } from '../../constants';\r\nimport './StopViewComponent.scss';\r\n\r\ninterface ISingleProps {\r\n stop: IStop;\r\n}\r\nexport const StopViewComponent = ({ stop }: ISingleProps) => {\r\n const locContext = useLocalizationContext();\r\n const stopName = stop.isFirst ? locContext.firstStop : stop.isLast ? locContext.lastStop : locContext.extraStop + ' ' + stop.extraStopOrder;\r\n const formatDateSpecifier = (str: string | undefined) => {\r\n if (str === 'At') {\r\n return locContext.at;\r\n } else if (str === 'Before') {\r\n return locContext.before;\r\n } else {\r\n return locContext.after;\r\n }\r\n }\r\n return (\r\n
\r\n
\r\n
{stopName}
\r\n
{moment(stop.date, DefaultDateFormat).format(DefaultDateFormat)} {formatDateSpecifier(stop.dateSpecifier)} {moment(stop.date, DefaultDateFormat).format('HH:mm')}
\r\n
{stop.address ? stop.address.company + ' - ' + stop.address.contact : ''}
\r\n
{stop.address ? stop.address.formatted : ''}
\r\n {stop.address && stop.address.additionalInfo ?
{stop.address.additionalInfo}
: null}\r\n {stop.address && stop.address.phoneNumber ?
{stop.address.phoneNumber}
: null}\r\n {stop.address && stop.address.comment ?
{stop.address.comment}
: null}\r\n {stop.loadOperations ? stop.loadOperations.map(t =>
{locContext.load}: {t}
) : null}\r\n {stop.unloadOperations ? stop.unloadOperations.map(t =>
{locContext.unload}: {t}
) : null}\r\n
\r\n
\r\n );\r\n}","import React from 'react';\r\nimport { IStop } from '../../gen/ApiClients';\r\nimport { StopViewComponent } from './StopViewComponent';\r\n\r\ninterface IProps {\r\n firstStop: IStop | undefined;\r\n extraStops: IStop[] | undefined;\r\n lastStop: IStop | undefined;\r\n}\r\n\r\nexport const StopsViewComponent = ({ firstStop, extraStops, lastStop, }: IProps) => {\r\n return (\r\n
\r\n {firstStop ?\r\n
\r\n \r\n
\r\n : null}\r\n {extraStops ?\r\n extraStops.map(t =>\r\n
\r\n \r\n
)\r\n : null}\r\n {lastStop ?\r\n
\r\n \r\n
\r\n : null}\r\n
\r\n );\r\n}\r\n\r\n","import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { useContext, useEffect, useState } from 'react';\r\nimport { Card, Responsive } from 'semantic-ui-react';\r\nimport { ModalContext } from '../../context/ModalContext';\r\nimport { RouterContext } from '../../context/RouterContext';\r\nimport { WrapperFullScreenLoadContext } from '../../context/WrapperFullScreenLoadContext';\r\nimport { WrapperSearchContext } from '../../context/WrapperSearchTextContext';\r\nimport { BuildClient, DisputeModel, IRevenueDetail, RevenueDetail, RevenuesClient } from '../../gen/ApiClients';\r\nimport { useClient, useDownloadClient } from '../../hooks/useClient';\r\nimport { useLocalizationContext } from '../../hooks/useLocalizationContext';\r\nimport { toDefaultFormat, tryCatchWithLoading } from '../../infrastructure/Utils';\r\nimport { IconButton } from '../common/buttons/IconButton';\r\nimport { JohnDoeAvatar } from '../common/johnDoeAvatar/JohnDoeAvatar';\r\nimport { showSuccessToast } from '../common/toast/ToastNotification';\r\nimport { DisputeRevenueForm } from './DisputeRevenueForm';\r\nimport './Revenue.scss';\r\nimport { StopsViewComponent } from './StopsViewComponent';\r\nimport React from 'react';\r\n\r\nexport const Revenue = ({ match }: any) => {\r\n\tconst locContext = useLocalizationContext();\r\n\tconst shipmentId = match.params.shipmentId;\r\n\tconst client = useClient(RevenuesClient);\r\n\tconst routerContext = useContext(RouterContext);\r\n\tconst downloadClient = useDownloadClient(routerContext);\r\n\tconst [detail, setDetail] = useState();\r\n\tconst modalContext = useContext(ModalContext);\r\n\tconst loaderContext = useContext(WrapperFullScreenLoadContext);\r\n\tuseContext(WrapperSearchContext).hideAndShowGoBackButton();\r\n\tconst buildClient = useClient(BuildClient);\r\n\r\n\tuseEffect(\r\n\t\t() => {\r\n\t\t\tloadDetail();\r\n\t\t},\r\n\t\t// eslint-disable-next-line\r\n\t\t[shipmentId]\r\n\t);\r\n\r\n\tconst loadDetail = async () => {\r\n\t\tif (shipmentId) {\r\n\t\t\tconst t = await tryCatchWithLoading(client.detail(shipmentId), loaderContext.setLoading, locContext.serverError);\r\n\t\t\tsetDetail(t);\r\n\t\t}\r\n\t};\r\n\r\n\tconst dispute = (detail: IRevenueDetail) => {\r\n\t\tconst fileNumber = detail.fileNumber ? detail.fileNumber : 'No filenumber found...';\r\n\t\tmodalContext.open(\r\n\t\t\t {\r\n\t\t\t\t\tawait client.dispute(fileNumber, new DisputeModel({ message: message }));\r\n\t\t\t\t\tshowSuccessToast(locContext.disputeFormSubmitted);\r\n\t\t\t\t\tmodalContext.close();\r\n\t\t\t\t}}\r\n\t\t\t\tonCancel={() => modalContext.close()}\r\n\t\t\t/>,\r\n\t\t\tfalse\r\n\t\t);\r\n\t};\r\n\r\n\tconst downloadSpc = async (inst: IRevenueDetail) => {\r\n\t\tloaderContext.setLoading(true);\r\n\t\tconst baseUrl = await buildClient.url();\r\n\t\tconst url = `${baseUrl}/api/Revenues/${inst.fileNumber}/downloadServicePartnerConfirmation`;\r\n\t\tawait downloadClient.download(url, `SPC_${inst.fileNumber}.pdf`, () => loaderContext.setLoading(false));\r\n\t};\r\n\r\n\tif (detail === undefined) {\r\n\t\treturn null;\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t
{detail.driverName}
\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t{detail.isTrackAndTraceAvailable ? (\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
{detail.status}
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t) : (\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
{detail.status}
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t)}\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t dispute(detail)}\r\n\t\t\t\t\t\t\tcolor='success'\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t downloadSpc(detail)}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t
{locContext.date}
\r\n\t\t\t
{toDefaultFormat(detail.date)}
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
{locContext.assignment}
\r\n\t\t\t\t\t
{detail.subDepartment}
\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
{locContext.fileNumber}
\r\n\t\t\t\t\t
{detail.fileNumber}
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t
{locContext.vehicle}
\r\n\t\t\t
{detail.department}
\r\n\t\t\t\r\n\t\t\t
{locContext.amountExVat}
\r\n\t\t\t
€ {detail.amount}
\r\n\t\t\t
\r\n\t\t\t\t{detail.revenues\r\n\t\t\t\t\t? detail.revenues.map(t => (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
{t.description}
\r\n\t\t\t\t\t\t\t\t
€ {t.amount}
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t ))\r\n\t\t\t\t\t: null}\r\n\t\t\t\r\n\t\t\t
{locContext.route}
\r\n\t\t\t
{detail.totalDistance} km
\r\n\t\t
\r\n\t);\r\n};\r\n","import React from 'react';\r\nimport { useCombineClassNames } from '../../../hooks/useCombineClassNames';\r\n\r\ninterface IProps extends React.HTMLProps {\r\n}\r\n\r\nexport const CenterEveryting = ({ children, ...rest }: IProps) => {\r\n return (\r\n
\r\n
\r\n {children}\r\n
\r\n
\r\n );\r\n}","import React from 'react';\r\nimport loader from './loader.gif';\r\n\r\nexport const Loader = () => {\r\n var divStyle: React.CSSProperties = {\r\n maxHeight: `100px`,\r\n maxWidth: `100px`,\r\n marginTop: '10px',\r\n marginBottom: '10px',\r\n }\r\n return (\r\n \"loading...\"\r\n );\r\n}\r\n\r\n","import React from 'react';\r\nimport { CenterEveryting } from './CenterEveryting';\r\nimport { Loader } from './Loader';\r\nimport './FullScreenLoader.scss';\r\n\r\nexport const FullScreenLoader = () => {\r\n return (\r\n \r\n \r\n \r\n );\r\n}","import React, { useState } from 'react';\r\nimport { empty, nameof } from '../infrastructure/Utils';\r\nimport { IFormsQueryParams, IFormSummary } from '../gen/ApiClients';\r\n\r\ninterface IProps {\r\n params: IFormsQueryParams;\r\n setParams: (pars: IFormsQueryParams) => void;\r\n}\r\n\r\nconst fallbackProps: IProps = {\r\n params: {\r\n pageIndex: 1,\r\n pageSize: 10,\r\n sortDirection: 'descending',\r\n sortProperty: nameof('createdDate')\r\n },\r\n setParams: empty,\r\n}\r\n\r\nexport const FormsQueryParamsContext = React.createContext(fallbackProps);\r\n\r\nexport const FormsQueryParamsProvider = ({ children }: any) => {\r\n const [params, setParams] = useState(fallbackProps.params);\r\n\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n}","import React, { useContext } from 'react';\r\nimport { useLocalizationContext } from '../../hooks/useLocalizationContext';\r\nimport { FilterBar } from '../common/filter/FilterBar';\r\nimport { IFormsQueryParams } from '../../gen/ApiClients';\r\nimport { DateFilterItem } from '../common/filter/DateFilterItem';\r\nimport { IOption } from '../../infrastructure/Models';\r\nimport { ListFilterItem } from '../common/filter/ListFilterItem';\r\nimport { FilterDataContext } from '../../context/FilterDataContext';\r\n\r\ninterface IProps {\r\n params: IFormsQueryParams;\r\n onFilter: (params: IFormsQueryParams) => void;\r\n}\r\n\r\nfunction isFiltered(pars: IFormsQueryParams): boolean {\r\n if (pars === undefined) {\r\n return false;\r\n }\r\n if (pars.afterDate || pars.beforeDate) {\r\n return true;\r\n }\r\n if (pars.driverIds !== undefined && pars.driverIds.length > 0) {\r\n return true;\r\n }\r\n return false;\r\n}\r\n\r\nexport const FilterForms = ({ params, onFilter, }: IProps) => {\r\n const locContext = useLocalizationContext();\r\n const context = useContext(FilterDataContext);\r\n const handleClear = () => {\r\n onFilter({ ...params, afterDate: undefined, beforeDate: undefined, driverIds: [] });\r\n }\r\n return (\r\n handleClear()}\r\n isFiltered={isFiltered(params)}>\r\n
\r\n onFilter({ ...params, afterDate: val.after, beforeDate: val.before })} />\r\n \r\n icon={['fas', 'users']}\r\n label={locContext.driver}\r\n options={context.allFilterableDrivers.map>(t => ({ key: t.id ? t.id : '', value: t.id ? t.id : '', text: t.value ? t.value : '' }))}\r\n selection={params.driverIds ? params.driverIds : []}\r\n onFilter={(val) => onFilter({ ...params, driverIds: val })} />\r\n
\r\n \r\n );\r\n}","import React, { useContext } from 'react';\r\nimport { useLocalizationContext } from '../../../hooks/useLocalizationContext';\r\nimport { FormikProps, Formik, Form, FormikActions } from 'formik';\r\nimport { IOrderModel, IPackage, IExtra, IExtraProduct, OrderModel } from '../../../gen/ApiClients';\r\nimport { TextLinkButton } from '../../common/buttons/TextLinkButton';\r\nimport { PrimaryButton } from '../../common/buttons/PrimaryButton';\r\nimport { SelectField } from '../../common/forms/SelectField';\r\nimport { FilterDataContext } from '../../../context/FilterDataContext';\r\nimport { IOption } from '../../../infrastructure/Models';\r\nimport { setFieldTouched } from '../../common/forms/FormsUtils';\r\nimport { TextInputField } from '../../common/forms/TextInputField';\r\nimport { clearNullOrUndefinedValues } from '../../../infrastructure/Utils';\r\nimport { Responsive } from 'semantic-ui-react';\r\nimport * as yup from 'yup';\r\nimport './OrderClothingForm.scss';\r\n\r\ninterface IProps {\r\n model: IOrderModel;\r\n setModel: (model: IOrderModel) => void;\r\n onSubmit: (model: IOrderModel) => void;\r\n onCancel: () => void;\r\n addExtra: () => void;\r\n addPackage: () => void;\r\n deletePackage: (pack: IPackage) => void;\r\n deleteExtra: (extra: IExtra) => void;\r\n products: IExtraProduct[];\r\n}\r\n\r\nexport const MainForm = ({ onSubmit, onCancel, addExtra, addPackage, deleteExtra, deletePackage, products, model, setModel }: IProps) => {\r\n const context = useContext(FilterDataContext);\r\n const options = context.allFilterableDrivers.map>(t => ({ key: t.id ? t.id : '', value: t.id ? t.id : '', text: t.value ? t.value : '', }));\r\n const locContext = useLocalizationContext();\r\n const validateSchema = yup.object().shape({\r\n driverId: yup\r\n .string()\r\n .required(locContext.validateSelectDriver),\r\n mobilePhoneDriver: yup\r\n .string()\r\n .required(locContext.fillIn),\r\n });\r\n const onClickSubmit = async (props: FormikProps, e: any) => {\r\n e.persist();\r\n const isValid = await validateSchema.isValid(props.values);\r\n if (!isValid) {\r\n e.preventDefault();\r\n }\r\n setFieldTouched('driverId', props);\r\n setFieldTouched('mobilePhoneDriver', props);\r\n }\r\n const handleSubmit = async (values: IOrderModel, actions: FormikActions) => {\r\n if ((!values.extras || values.extras.length === 0) && (!values.starterPacks || values.starterPacks.length === 0)) {\r\n } else {\r\n await onSubmit({ ...model, driverId: values.driverId, mobilePhoneDriver: values.mobilePhoneDriver });\r\n } \r\n actions.setSubmitting(false);\r\n }\r\n\r\n const calculatePrice = (extra: IExtra): number => {\r\n const x = products.find(t => t.description === extra.description);\r\n if (x) {\r\n return x.price && extra.quantity ? x.price * extra.quantity : 0;\r\n }\r\n return 0;\r\n }\r\n\r\n const calculateTotalPrice = (values: IOrderModel) => {\r\n const x = values.extras && values.extras.length > 0 ? values.extras.map(t => calculatePrice(t)).reduce((sum, current) => sum + current) : 0;\r\n console.log(x);\r\n const y = values.starterPacks && values.starterPacks.length > 0 ? values.starterPacks.map(t => (t.quantity ? t.quantity : 1) * 30).reduce((sum, current) => sum + current) : 0;\r\n console.log(y);\r\n return x + y;\r\n }\r\n\r\n return (\r\n
\r\n \r\n initialValues={clearNullOrUndefinedValues(model, OrderModel)}\r\n isInitialValid={true}\r\n validationSchema={validateSchema}\r\n onSubmit={handleSubmit}>\r\n {(props) => (\r\n
\r\n
\r\n
{locContext.orderClothing}
\r\n options={options} label={locContext.driver} xName=\"driverId\" />\r\n label={locContext.driverMobilePhone} xName=\"mobilePhoneDriver\" placeholder={locContext.driverMobilePhone} />\r\n { addExtra(); setModel(props.values); }}>+ {locContext.addExtra}\r\n {model.extras && model.extras.length > 0 ?\r\n
\r\n
{locContext.extras}
\r\n {model.extras.map(t =>\r\n
\r\n
\r\n {t.quantity} x {t.description} ({locContext.size}: {t.size}, {locContext.price}: € {calculatePrice(t)})\r\n
\r\n deleteExtra(t)}>{locContext.delete}\r\n
)}\r\n
\r\n : null}\r\n { addPackage(); setModel(props.values) }}>+ {locContext.addStartersPack}\r\n {model.starterPacks && model.starterPacks.length > 0 ?\r\n
\r\n
{locContext.startersPackages}
\r\n {model.starterPacks.map(t =>\r\n
\r\n
\r\n
{t.quantity} x {locContext.startersPackage} ({locContext.price}: € {30.00 * (t.quantity ? t.quantity : 1)})
\r\n
{locContext.sizePolo}: {t.sizePolo}
\r\n
{locContext.sizeSweatShirt}: {t.sizeSweatShirt}
\r\n
{locContext.sizeTShirt}: {t.sizeTShirt}
\r\n
\r\n deletePackage(t)}>{locContext.delete}\r\n
)}\r\n
\r\n : null}\r\n
{locContext.total}: € {calculateTotalPrice(model)}
\r\n \r\n
\r\n
\r\n onCancel()}>{locContext.cancel}\r\n onClickSubmit(props, e)}>{locContext.requestClothing}\r\n
\r\n
\r\n
\r\n \r\n
\r\n onClickSubmit(props, e)}>{locContext.requestClothing}\r\n onCancel()}>{locContext.cancel}\r\n
\r\n
\r\n
\r\n
\r\n )}\r\n \r\n
\r\n );\r\n}\r\n","\r\n\r\nexport const Sizes: string[] = ['M','L','XL', 'XXL','XXXL'];\r\nexport const SizesAsNumbers: string[] = ['44','46', '48', '50', '52', '54', '56', '58', '60'];","import React from 'react';\r\nimport { IFieldGroupProps, FieldGroup } from './FieldGroup';\r\nimport { Field } from 'formik';\r\n\r\ninterface IProps extends IFieldGroupProps {\r\n min?: number;\r\n max?: number;\r\n step?: number;\r\n}\r\n\r\nexport function NumberInputField({min, max, step, ...rest}: IProps) {\r\n return (\r\n \r\n \r\n \r\n );\r\n}","import React from 'react';\r\nimport { useLocalizationContext } from '../../../hooks/useLocalizationContext';\r\nimport { FormikProps, Formik, Form, FormikActions } from 'formik';\r\nimport { IExtra, IExtraProduct } from '../../../gen/ApiClients';\r\nimport { TextLinkButton } from '../../common/buttons/TextLinkButton';\r\nimport { PrimaryButton } from '../../common/buttons/PrimaryButton';\r\nimport { SelectField } from '../../common/forms/SelectField';\r\nimport { setFieldTouched } from '../../common/forms/FormsUtils';\r\nimport { Sizes, SizesAsNumbers } from './utils';\r\nimport { toOptions } from '../../../infrastructure/Utils';\r\nimport { NumberInputField } from '../../common/forms/NumberInputField';\r\nimport { IOption } from '../../../infrastructure/Models';\r\nimport { Responsive } from 'semantic-ui-react';\r\nimport * as yup from 'yup';\r\nimport './OrderClothingForm.scss';\r\n\r\ninterface IProps {\r\n onSubmit: (model: IExtra) => void;\r\n onPrevious: () => void;\r\n products: IExtraProduct[];\r\n}\r\n\r\nexport const ExtraForm = ({ onSubmit, onPrevious, products }: IProps) => {\r\n const locContext = useLocalizationContext();\r\n const validateSchema = yup.object().shape({\r\n quantity: yup.number()\r\n .integer(locContext.quantityMustBeAnInteger)\r\n .min(1, locContext.quantityMustBeMinimalOne)\r\n .required(locContext.fillInQuantity),\r\n description: yup.string().required(locContext.fillIn),\r\n size: yup.string().required(locContext.fillIn),\r\n });\r\n const onClickSubmit = async (props: FormikProps, e: any) => {\r\n e.persist();\r\n const isValid = await validateSchema.isValid(props.values);\r\n if (!isValid) {\r\n e.preventDefault();\r\n }\r\n setFieldTouched('quantity', props);\r\n setFieldTouched('description', props);\r\n setFieldTouched('size', props);\r\n }\r\n const handleSubmit = async (values: IExtra, actions: FormikActions) => {\r\n actions.setSubmitting(false);\r\n const x = products.find(t => t.description === values.description);\r\n onSubmit({...values, pricePerPiece: x ? x.price : 0});\r\n }\r\n\r\n const mustShowSizesAsNumber = (description: string) => {\r\n const x = products.find(t => t.description === description);\r\n if (x) {\r\n return x.hasSizeAsNumber;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n initialValues={{}}\r\n isInitialValid={true}\r\n validationSchema={validateSchema}\r\n onSubmit={handleSubmit}>\r\n {(props) => (\r\n
\r\n
\r\n
{locContext.extras}
\r\n options={products.map>(t => ({ key: t.description ? t.description : '', value: t.description ? t.description : '', text: t.description ? `${t.description} (€ ${t.price})` : '' }))} label={locContext.select} xName=\"description\" />\r\n {props.values.description === undefined ? null :\r\n mustShowSizesAsNumber(props.values.description) ?\r\n options={toOptions(SizesAsNumbers)} label={locContext.size} xName=\"size\" />\r\n :\r\n options={toOptions(Sizes)} label={locContext.size} xName=\"size\" />\r\n }\r\n \r\n xName=\"quantity\"\r\n label={locContext.quantity}\r\n min={0}\r\n step={1} />\r\n \r\n
\r\n
\r\n onPrevious()}>{locContext.previous}\r\n onClickSubmit(props, e)}>{locContext.add}\r\n
\r\n
\r\n
\r\n \r\n
\r\n onClickSubmit(props, e)}>{locContext.add}\r\n onPrevious()}>{locContext.previous}\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 { useLocalizationContext } from '../../../hooks/useLocalizationContext';\r\nimport { FormikProps, Formik, Form, FormikActions } from 'formik';\r\nimport { IPackage } from '../../../gen/ApiClients';\r\nimport { TextLinkButton } from '../../common/buttons/TextLinkButton';\r\nimport { PrimaryButton } from '../../common/buttons/PrimaryButton';\r\nimport { SelectField } from '../../common/forms/SelectField';\r\nimport { setFieldTouched } from '../../common/forms/FormsUtils';\r\nimport { Sizes } from './utils';\r\nimport { toOptions } from '../../../infrastructure/Utils';\r\nimport * as yup from 'yup';\r\nimport './OrderClothingForm.scss';\r\nimport { NumberInputField } from '../../common/forms/NumberInputField';\r\nimport { Responsive } from 'semantic-ui-react';\r\n\r\ninterface IProps {\r\n onSubmit: (model: IPackage) => void;\r\n onPrevious: () => void;\r\n}\r\n\r\nexport const PackageForm = ({ onSubmit, onPrevious }: IProps) => {\r\n const locContext = useLocalizationContext();\r\n const validateSchema = yup.object().shape({\r\n quantity: yup.number()\r\n .integer(locContext.quantityMustBeAnInteger)\r\n .min(1, locContext.quantityMustBeMinimalOne)\r\n .required(locContext.fillInQuantity),\r\n sizeTShirt: yup\r\n .string()\r\n .required(locContext.fillIn),\r\n sizePolo: yup\r\n .string()\r\n .required(locContext.fillIn),\r\n sizeSweatShirt: yup\r\n .string()\r\n .required(locContext.fillIn),\r\n });\r\n const onClickSubmit = async (props: FormikProps, e: any) => {\r\n e.persist();\r\n const isValid = await validateSchema.isValid(props.values);\r\n if (!isValid) {\r\n e.preventDefault();\r\n }\r\n setFieldTouched('quantity', props);\r\n setFieldTouched('sizeTShirt', props);\r\n setFieldTouched('sizePolo', props);\r\n setFieldTouched('sizeSweatShirt', props);\r\n }\r\n const handleSubmit = async (values: IPackage, actions: FormikActions) => {\r\n actions.setSubmitting(false);\r\n onSubmit({...values, pricePerPackage: 30});\r\n }\r\n\r\n return (\r\n
\r\n \r\n initialValues={{}}\r\n isInitialValid={true}\r\n validationSchema={validateSchema}\r\n onSubmit={handleSubmit}>\r\n {(props) => (\r\n
\r\n
\r\n
{locContext.startersPackage} ({locContext.price}: € 30.00)
\r\n \r\n xName=\"quantity\"\r\n label={locContext.quantity}\r\n min={0}\r\n step={1} />\r\n options={toOptions(Sizes)} label={locContext.sizeTShirt} xName=\"sizeTShirt\" />\r\n options={toOptions(Sizes)} label={locContext.sizePolo} xName=\"sizePolo\" />\r\n options={toOptions(Sizes)} label={locContext.sizeSweatShirt} xName=\"sizeSweatShirt\" /> \r\n \r\n
\r\n
\r\n onPrevious()}>{locContext.previous}\r\n onClickSubmit(props, e)}>{locContext.add}\r\n
\r\n
\r\n
\r\n \r\n
\r\n onClickSubmit(props, e)}>{locContext.add}\r\n onPrevious()}>{locContext.previous}\r\n
\r\n
\r\n
\r\n
\r\n )}\r\n \r\n
\r\n );\r\n}\r\n","import React, { useState, useEffect } from 'react';\r\nimport { IOrderModel, IPackage, Package, IExtra, Extra, IExtraProduct, FormsClient } from '../../../gen/ApiClients';\r\nimport { MainForm } from './MainForm';\r\nimport { ExtraForm } from './ExtraForm';\r\nimport { PackageForm } from './PackageForm';\r\nimport { useClient } from '../../../hooks/useClient';\r\nimport './OrderClothingForm.scss';\r\n\r\ninterface IProps {\r\n onSubmit: (model: IOrderModel) => Promise;\r\n onCancel: () => void;\r\n}\r\n\r\nexport const OrderClothingForm = ({ onSubmit, onCancel }: IProps) => {\r\n const [state, setState] = useState<'main' | 'package' | 'extra'>('main');\r\n const [model, setModel] = useState({ driverId: '', mobilePhoneDriver: '' });\r\n const [products, setProducts] = useState([]);\r\n const client = useClient(FormsClient);\r\n \r\n useEffect(() => {\r\n load();\r\n }, \r\n // eslint-disable-next-line\r\n []);\r\n \r\n const load = async () => {\r\n setProducts(await client.allProducts());\r\n }\r\n\r\n const addPackage = (pack: IPackage) => {\r\n const x = model && model.starterPacks ? [...model.starterPacks, new Package(pack)] : [new Package(pack)];\r\n setModel({ ...model, starterPacks: x });\r\n setState('main');\r\n }\r\n const deletePackage = (pack: IPackage) => {\r\n if (!model || !model.starterPacks) {\r\n return;\r\n }\r\n const index = (model.starterPacks as IPackage[]).indexOf(pack);\r\n const x = [...model.starterPacks.slice(0, index), ...model.starterPacks.slice(index + 1)];\r\n setModel({ ...model, starterPacks: x });\r\n }\r\n const addExtra = (extra: IExtra) => {\r\n const x = model && model.extras ? [...model.extras, new Extra(extra)] : [new Extra(extra)];\r\n setModel({ ...model, extras: x });\r\n setState('main');\r\n }\r\n const deleteExtra = (extra: IExtra) => {\r\n if (!model || !model.extras) {\r\n return;\r\n }\r\n const index = (model.extras as IExtra[]).indexOf(extra);\r\n const x = [...model.extras.slice(0, index), ...model.extras.slice(index + 1)];\r\n setModel({ ...model, extras: x });\r\n }\r\n\r\n if (state === 'main') {\r\n return setState('extra')} deleteExtra={deleteExtra}\r\n addPackage={() => setState('package')} deletePackage={deletePackage}\r\n products={products}\r\n model={model}\r\n setModel={(val) => setModel({...model, driverId: val.driverId, mobilePhoneDriver: val.mobilePhoneDriver })} />\r\n } else if (state === 'extra') {\r\n return setState('main')} onSubmit={addExtra} products={products} />\r\n } else if (state === 'package') {\r\n return setState('main')} onSubmit={addPackage} />\r\n } else {\r\n return
Whoops, nothing found...
\r\n }\r\n\r\n}\r\n","import React from 'react';\r\nimport { IOrderDetail } from '../../gen/ApiClients';\r\nimport { useLocalizationContext } from '../../hooks/useLocalizationContext';\r\nimport { toDefaultFormat } from '../../infrastructure/Utils';\r\nimport './FormDetail.scss';\r\n\r\ninterface IProps {\r\n detail: IOrderDetail;\r\n}\r\nexport const FormDetail = ({ detail }: IProps) => {\r\n const locContext = useLocalizationContext();\r\n return (\r\n
\r\n
\r\n
\r\n {locContext.orderClothing}\r\n
\r\n
{locContext.date}
\r\n
{toDefaultFormat(detail.createdDate)}
\r\n
{locContext.driver}
\r\n
{detail.driverName}
\r\n
{locContext.driverMobilePhone}
\r\n
{detail.mobilePhoneDriver}
\r\n {detail.extras && detail.extras.length > 0 ?\r\n
\r\n
{locContext.extras}
\r\n {detail.extras.map(t =>\r\n
\r\n
\r\n {t.quantity} x {t.description} ({locContext.size}: {t.size}, {t.quantity} x € {t.pricePerPiece} = € {t.linePrice})\r\n
\r\n
)}\r\n
\r\n : null}\r\n {detail.starterPacks && detail.starterPacks.length > 0 ?\r\n
\r\n
{locContext.startersPackages}
\r\n {detail.starterPacks.map(t =>\r\n
\r\n
\r\n
{t.quantity} x {locContext.startersPackage} ({t.quantity} x € {t.pricePerPackage} = € {t.linePrice})
\r\n
-{locContext.sizePolo}: {t.sizePolo}
\r\n
-{locContext.sizeSweatShirt}: {t.sizeSweatShirt}
\r\n
-{locContext.sizeTShirt}: {t.sizeTShirt}
\r\n
\r\n
)}\r\n
\r\n : null}\r\n
\r\n
\r\n );\r\n}","import React, { useState, useEffect, useContext } from 'react';\r\nimport { Card, Divider, Responsive } from 'semantic-ui-react';\r\nimport { IFormSummary, IFormSummaryQueryResult, FormsClient, FormsQueryParams, IFormsQueryParams, OrderModel } from '../../gen/ApiClients';\r\nimport { toDateAndTimeFormat, toDefaultFormat, tryCatchWithLoading, tryCatch } from '../../infrastructure/Utils';\r\nimport { useLocalizationContext } from '../../hooks/useLocalizationContext';\r\nimport { useClient } from '../../hooks/useClient';\r\nimport { BaseTableSortAndPage } from '../common/table/BaseTableSortAndPage';\r\nimport { createHeader, createSortableHeader } from '../common/table/TableUtils';\r\nimport { WrapperSearchContext } from '../../context/WrapperSearchTextContext';\r\nimport { WrapperFullScreenLoadContext } from '../../context/WrapperFullScreenLoadContext';\r\nimport { FilterForms } from './FilterForms';\r\nimport { FormsQueryParamsContext } from '../../context/FormsQueryParamsContext';\r\nimport { useTrigger } from '../../hooks/useTrigger';\r\nimport { PrimaryButton } from '../common/buttons/PrimaryButton';\r\nimport { ModalContext } from '../../context/ModalContext';\r\nimport { OrderClothingForm } from './orderClothing/OrderClothingForm';\r\nimport { FormDetail } from './FormDetail';\r\nimport './Forms.scss';\r\nimport { showSuccessToast } from '../common/toast/ToastNotification';\r\nimport { PagingFooter } from '../common/table/PagingFooter';\r\n\r\nexport const Forms = () => {\r\n\tconst [isFilterOpen, setIsFilterOpen] = useState(false);\r\n\tconst locContext = useLocalizationContext();\r\n\tconst [queryResult, setQueryResult] = useState();\r\n\tconst { params, setParams } = useContext(FormsQueryParamsContext);\r\n\tconst client = useClient(FormsClient);\r\n\tconst wrapperLoaderContext = useContext(WrapperFullScreenLoadContext);\r\n\tconst [trigger, hitTrigger] = useTrigger();\r\n\tconst modalContext = useContext(ModalContext);\r\n\tuseContext(WrapperSearchContext).init(`${locContext.searchOnTitleOrDescription}...`, params.searchString, (str: string) => {\r\n\t\tsetParams({ ...params, searchString: str, pageIndex: 1 });\r\n\t});\r\n\r\n\tuseEffect(\r\n\t\t() => {\r\n\t\t\tload();\r\n\t\t},\r\n\t\t// eslint-disable-next-line\r\n\t\t[params, trigger]\r\n\t);\r\n\r\n\tconst load = async () => {\r\n\t\tsetQueryResult(await tryCatchWithLoading(client.query(new FormsQueryParams(params)), wrapperLoaderContext.setLoading, locContext.serverError));\r\n\t};\r\n\r\n\tconst headers = [\r\n\t\tcreateSortableHeader(locContext.date, 'createdDate', t => toDateAndTimeFormat(t.createdDate)),\r\n\t\tcreateSortableHeader(locContext.driver, 'driverName', t => t.driverName),\r\n\t\tcreateHeader(locContext.description, t => t.formatted),\r\n\t\tcreateHeader(locContext.price, t =>
€ {t.totalPrice}
),\r\n\t];\r\n\r\n\tconst viewDetail = async (inst: IFormSummary) => {\r\n\t\tif (inst.id === undefined) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tconst detail = await client.single(inst.id);\r\n\t\tmodalContext.open(, true);\r\n\t};\r\n\r\n\tconst orderClothing = () => {\r\n\t\tmodalContext.open(\r\n\t\t\t {\r\n\t\t\t\t\tawait tryCatch(client.addOrder(new OrderModel(val)), locContext.serverError);\r\n\t\t\t\t\thitTrigger();\r\n\t\t\t\t\tshowSuccessToast(locContext.formSubmitted);\r\n\t\t\t\t\tmodalContext.close();\r\n\t\t\t\t}}\r\n\t\t\t\tonCancel={() => modalContext.close()}\r\n\t\t\t/>,\r\n\t\t\tfalse\r\n\t\t);\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t orderClothing()}>\r\n\t\t\t\t\t\t\t+ {locContext.orderClothing}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t setIsFilterOpen(!isFilterOpen)}>\r\n\t\t\t\t\t\t\t\t{locContext.filterOn}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{isFilterOpen ? (\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t setParams({ ...pars, pageIndex: 1 })}\r\n\t\t\t\t\t\t\t\tparams={params}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t) : null}\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t setParams({ ...pars, pageIndex: 1 })}\r\n\t\t\t\t\t\tparams={params}\r\n\t\t\t\t\t/>\r\n\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tparams={params}\r\n\t\t\t\t\t\t\tonSortOrPage={t => setParams(t)}\r\n\t\t\t\t\t\t\tqueryResult={queryResult}\r\n\t\t\t\t\t\t\tcanSort={true}\r\n\t\t\t\t\t\t\theaders={headers}\r\n\t\t\t\t\t\t\tuniqueIdentifier='id'\r\n\t\t\t\t\t\t\tsingleIdentifier={locContext.form}\r\n\t\t\t\t\t\t\tonClickRow={inst => viewDetail(inst)}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{queryResult && queryResult.values ? (\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t{queryResult.values.map(t => (\r\n\t\t\t\t\t\t\t\t\t viewDetail(t)}>\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t
{toDefaultFormat(t.createdDate)}
\r\n\t\t\t\t\t\t\t\t\t\t\t\t
{t.driverName}
\r\n\t\t\t\t\t\t\t\t\t\t\t\t
{t.formatted}
\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t setParams({ ...params, pageIndex: params.pageIndex ? params.pageIndex + 1 : 1 })}\r\n\t\t\t\t\t\t\t\t\tonPrevious={() => setParams({ ...params, pageIndex: params.pageIndex ? params.pageIndex - 1 : 1 })}\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t) : null}\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n};\r\n","var _title, _desc, _g;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgDashboard = function SvgDashboard(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"25px\",\n height: \"19px\",\n viewBox: \"0 0 25 19\",\n ref: svgRef\n }, props), title === undefined ? _title || (_title = /*#__PURE__*/React.createElement(\"title\", null, \"iconsTekengebied 1\")) : title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _desc || (_desc = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\")), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"\\\\uD83C\\\\uDF08-Symbols\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Bottom-Nav-/-Adresboek\",\n transform: \"translate(-30.000000, -14.000000)\",\n fill: \"#DFDFDF\",\n fillRule: \"nonzero\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Bottom-Nav-/-Transporten\",\n transform: \"translate(-1.000000, 0.000000)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Bottom-Nav-/-Dashboard\",\n transform: \"translate(15.000000, 14.000000)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Bottom-Nav-/-Dashboard-/-Selected\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"iconsTekengebied-1\",\n transform: \"translate(16.000000, 0.000000)\"\n }, /*#__PURE__*/React.createElement(\"polygon\", {\n id: \"Path\",\n points: \"12.7156085 11.6326531 18.2367725 14.9957823 12.1613757 12.7209524\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.76851852,18.7531293 L15.4880952,18.7531293 C16.281746,18.7531293 16.2896825,17.5381633 15.4880952,17.5381633 L9.76851852,17.5381633 C8.97486772,17.5381633 8.96693122,18.7531293 9.76851852,18.7531293 Z\",\n id: \"Path\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5.29100529,18.4661905 C1.86193521,14.6615149 2.10463992,8.89362064 5.84178544,5.37686176 C9.57893096,1.86010288 15.4866992,1.84022936 19.2485362,5.33176194 C23.0103732,8.82329451 23.2937144,14.5894191 19.8915344,18.4170748 C19.7991954,18.5219908 19.7781391,18.6699632 19.8376827,18.7955152 C19.8972264,18.9210671 20.0263782,19.0010219 20.1679894,19.0000097 L21.4153439,19.0000097 C22.3688013,19.0021588 23.2428198,18.4812438 23.6772487,17.6519048 C26.3168781,12.5040235 24.8960465,6.25260027 20.2745198,2.68046284 C15.6529931,-0.89167459 9.10008533,-0.803429685 4.5810569,2.89179927 C0.0620284786,6.58702823 -1.18195802,12.8743373 1.60185185,17.9491837 C1.95473005,18.5955048 2.64317374,18.9994276 3.39285714,19.0000097 L5.04365079,19.0000097 C5.17335222,19.0009507 5.29144836,18.9271373 5.34494821,18.8116806 C5.39844805,18.696224 5.37730466,18.5608061 5.29100529,18.4661905 Z\",\n id: \"Path\"\n })))))))));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgDashboard, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/dashboard.bae4422d.svg\";\nexport { ForwardRef as ReactComponent };","import React, { useContext } from 'react';\r\nimport { Label } from 'semantic-ui-react';\r\nimport { NotificationsContext } from '../context/NotificationsContext';\r\nimport './MobileNotifications.scss';\r\n\r\nexport const MobileNotifications = () => {\r\n const context = useContext(NotificationsContext);\r\n\r\n return (\r\n
\r\n {context.countUnread.toString()}\r\n {context.countUnread > 0\r\n ? \r\n : null}\r\n
\r\n );\r\n}","var _title, _desc, _g;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgDashboardSel = function SvgDashboardSel(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"25px\",\n height: \"19px\",\n viewBox: \"0 0 25 19\",\n ref: svgRef\n }, props), title === undefined ? _title || (_title = /*#__PURE__*/React.createElement(\"title\", null, \"iconsTekengebied 1\")) : title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _desc || (_desc = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\")), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"\\\\uD83C\\\\uDF08-Symbols\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Bottom-Nav-/-Dashboard\",\n transform: \"translate(-30.000000, -14.000000)\",\n fill: \"#DE192B\",\n fillRule: \"nonzero\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Bottom-Nav-/-Dashboard-/-Selected\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(14.000000, 14.000000)\"\n }, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"g\", {\n id: \"iconsTekengebied-1\",\n transform: \"translate(16.000000, 0.000000)\"\n }, /*#__PURE__*/React.createElement(\"polygon\", {\n id: \"Path\",\n points: \"12.7156085 11.6326531 18.2367725 14.9957823 12.1613757 12.7209524\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.76851852,18.7531293 L15.4880952,18.7531293 C16.281746,18.7531293 16.2896825,17.5381633 15.4880952,17.5381633 L9.76851852,17.5381633 C8.97486772,17.5381633 8.96693122,18.7531293 9.76851852,18.7531293 Z\",\n id: \"Path\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5.29100529,18.4661905 C1.86193521,14.6615149 2.10463992,8.89362064 5.84178544,5.37686176 C9.57893096,1.86010288 15.4866992,1.84022936 19.2485362,5.33176194 C23.0103732,8.82329451 23.2937144,14.5894191 19.8915344,18.4170748 C19.7991954,18.5219908 19.7781391,18.6699632 19.8376827,18.7955152 C19.8972264,18.9210671 20.0263782,19.0010219 20.1679894,19.0000097 L21.4153439,19.0000097 C22.3688013,19.0021588 23.2428198,18.4812438 23.6772487,17.6519048 C26.3168781,12.5040235 24.8960465,6.25260027 20.2745198,2.68046284 C15.6529931,-0.89167459 9.10008533,-0.803429685 4.5810569,2.89179927 C0.0620284786,6.58702823 -1.18195802,12.8743373 1.60185185,17.9491837 C1.95473005,18.5955048 2.64317374,18.9994276 3.39285714,19.0000097 L5.04365079,19.0000097 C5.17335222,19.0009507 5.29144836,18.9271373 5.34494821,18.8116806 C5.39844805,18.696224 5.37730466,18.5608061 5.29100529,18.4661905 Z\",\n id: \"Path\"\n })))))))));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgDashboardSel, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/dashboard-sel.7ee69104.svg\";\nexport { ForwardRef as ReactComponent };","var _title, _desc, _g;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgRevenues = function SvgRevenues(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"29px\",\n height: \"17px\",\n viewBox: \"0 0 29 17\",\n ref: svgRef\n }, props), title === undefined ? _title || (_title = /*#__PURE__*/React.createElement(\"title\", null, \"iconsTekengebied 2\")) : title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _desc || (_desc = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\")), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"\\\\uD83C\\\\uDF08-Symbols\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Bottom-Nav-/-Adresboek\",\n transform: \"translate(-104.000000, -15.000000)\",\n fillRule: \"nonzero\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Bottom-Nav-/-Transporten\",\n transform: \"translate(-1.000000, 0.000000)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Bottom-Nav-/-Dashboard\",\n transform: \"translate(15.000000, 14.000000)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Bottom-Nav-/-Transporten-/-Not-Selected\",\n transform: \"translate(74.000000, 1.000000)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"iconsTekengebied-2\",\n transform: \"translate(16.000000, 0.000000)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M25.7214504,13.1974839 C26.6866412,13.2238065 27.5322901,12.5174839 28.3403053,11.5830323 L28.1145038,10.4730968 C28.1122214,10.4604169 28.1088896,10.4479447 28.104542,10.4358065 C28.0846183,10.3645161 28.0602672,10.2965161 28.0348092,10.2307097 C28.0602672,10.2965161 28.0846183,10.3645161 28.104542,10.4358065 C28.1088896,10.4479447 28.1122214,10.4604169 28.1145038,10.4730968 L28.2683588,11.2167097 C28.2473282,11.2265806 28.2262977,11.2375484 28.2041603,11.2463226 C27.6817176,11.4514194 27.0496947,11.0960645 26.7929008,10.4533548 C26.5837023,9.93019355 26.688855,9.37741935 27.0142748,9.07909677 C27.1352353,9.15473434 27.2509752,9.23827422 27.3607252,9.32916129 C26.3091985,8.45174194 24.6001908,8.33219355 24.2791985,7.78819355 C21.5684733,3.2003871 16.1990458,0.0767741935 10.0116412,0.0767741935 L2.37423664,0.0767741935 C1.07366412,0.0767741935 0.0188167939,1.0836129 0.0188167939,2.32735484 L0.0188167939,12.3233548 C0.0188167939,13.4914194 0.950801527,14.4510968 2.14290076,14.561871 C2.17836281,12.8182961 3.61654145,11.4240584 5.37652103,11.4270482 C7.13650062,11.4300379 8.56984629,12.8291536 8.59927481,14.5728387 L19.5783206,14.5728387 C19.5793504,13.0725081 20.6324356,11.7744193 22.1109702,11.4509602 C23.5895049,11.1275011 25.0962789,11.8655693 25.7347328,13.226 L25.7214504,13.1974839 Z M22.2159924,8.11612903 L16.2621374,8.08322581 C15.6542908,8.07840723 15.1641221,7.58877322 15.1641221,6.98645161 L15.1641221,2.72548387 C15.1644976,2.68418662 15.1844143,2.64545876 15.2179136,2.62088681 C15.2514128,2.59631486 15.2946095,2.58874857 15.3345802,2.60045161 C18.6551908,3.60070968 20.9065649,5.54309677 22.3687405,7.854 C22.4028712,7.90771679 22.4041843,7.97574199 22.3721517,8.03071279 C22.340119,8.0856836 22.2800059,8.11856439 22.2159924,8.11612903 Z\",\n id: \"Shape\",\n fill: \"#DFDFDF\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M27.5400382,9.49258065 C27.5832061,9.53535484 27.6241603,9.58032258 27.6640076,9.6263871 C27.6241603,9.58032258 27.5832061,9.53535484 27.5400382,9.49258065 Z\",\n id: \"Path\",\n fill: \"#D6D8E3\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M27.3784351,9.34451613 C27.4249237,9.38290323 27.4680916,9.4223871 27.5112595,9.46406452 C27.4680916,9.4223871 27.4238168,9.38290323 27.3784351,9.34451613 Z\",\n id: \"Path\",\n fill: \"#D6D8E3\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M28.8826718,14.212 L28.5229389,12.4670323 C27.9219084,13.2830323 27.1459924,13.8665161 25.9704962,13.9356129 L25.9594275,13.9016129 C26.0070831,14.1222382 26.0311978,14.3472167 26.031374,14.5728387 L26.1531298,14.5728387 L28.5661069,14.6057419 L28.5937786,14.6057419 C28.6867424,14.5956176 28.7710874,14.5471176 28.8260828,14.4721626 C28.8810782,14.3972075 28.9016245,14.3027477 28.8826718,14.212 Z\",\n id: \"Path\",\n fill: \"#DFDFDF\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M28.0080406,10.1725806 C27.9871606,10.1254194 27.9639606,10.0804516 27.9396006,10.0354839 C27.9662806,10.0804516 27.9894806,10.1254194 28.0080406,10.1725806 Z\",\n id: \"Path\",\n fill: \"#D6D8E3\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M27.8239548,9.83696774 C27.8564348,9.88303226 27.8865948,9.93019355 27.9155948,9.97954839 C27.8865948,9.93019355 27.8564348,9.88303226 27.8239548,9.83696774 Z\",\n id: \"Path\",\n fill: \"#D6D8E3\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M27.8045802,9.80735484 C27.7657445,9.75044003 27.7239979,9.69552966 27.6795038,9.64283871 C27.7239979,9.69552966 27.7657445,9.75044003 27.8045802,9.80735484 L27.8045802,9.80735484 Z\",\n id: \"Path\",\n fill: \"#D6D8E3\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M22.9686641,12.1544514 C21.9808648,12.154008 21.0901024,12.7433337 20.7118812,13.6475323 C20.3336599,14.551731 20.5424958,15.59266 21.2409755,16.2847687 C21.9394551,16.9768773 22.9899662,17.1838084 23.9024881,16.809037 C24.8150101,16.4342656 25.4097607,15.5516281 25.4093132,14.5728387 C25.4087022,13.2374512 24.3163442,12.1550568 22.9686641,12.1544514 L22.9686641,12.1544514 Z M22.9686641,15.6520651 C22.5280394,15.6525082 22.1305525,15.3898448 21.9616224,14.9866011 C21.7926922,14.5833574 21.8856028,14.1189833 22.1970132,13.8100994 C22.5084236,13.5012156 22.9769776,13.4086804 23.3841048,13.5756596 C23.791232,13.7426388 24.0567176,14.1362329 24.0567176,14.5728387 C24.0567176,15.1684506 23.5697584,15.6514592 22.9686641,15.6520651 Z\",\n id: \"Shape\",\n fill: \"#DFDFDF\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5.34839695,12.1544514 C4.36059763,12.154008 3.46983525,12.7433337 3.09161399,13.6475323 C2.71339273,14.551731 2.92222863,15.59266 3.6207083,16.2847687 C4.31918796,16.9768773 5.36969898,17.1838084 6.28222096,16.809037 C7.19474293,16.4342656 7.78949348,15.5516281 7.78904605,14.5728387 C7.78843502,13.2374512 6.69607702,12.1550568 5.34839695,12.1544514 L5.34839695,12.1544514 Z M5.34839695,15.6520651 C4.90777227,15.6525082 4.51028532,15.3898448 4.34135519,14.9866011 C4.17242506,14.5833574 4.26533559,14.1189833 4.576746,13.8100994 C4.88815642,13.5012156 5.3567104,13.4086804 5.76383762,13.5756596 C6.17096484,13.7426388 6.43645038,14.1362329 6.43645038,14.5728387 C6.43645038,15.1684506 5.94949127,15.6514592 5.34839695,15.6520651 Z\",\n id: \"Shape\",\n fill: \"#DFDFDF\"\n })))))))));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgRevenues, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/revenues.a4d16919.svg\";\nexport { ForwardRef as ReactComponent };","var _title, _desc, _g;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgRevenuesSel = function SvgRevenuesSel(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"29px\",\n height: \"17px\",\n viewBox: \"0 0 29 17\",\n ref: svgRef\n }, props), title === undefined ? _title || (_title = /*#__PURE__*/React.createElement(\"title\", null, \"iconsTekengebied 2\")) : title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _desc || (_desc = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\")), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"\\\\uD83C\\\\uDF08-Symbols\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Bottom-Nav-/-Transporten\",\n transform: \"translate(-104.000000, -15.000000)\",\n fillRule: \"nonzero\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Bottom-Nav-/-Dashboard\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(14.000000, 14.000000)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Bottom-Nav-/-Transporten-/-Not-Selected\",\n transform: \"translate(73.000000, 1.000000)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"iconsTekengebied-2\",\n transform: \"translate(17.000000, 0.000000)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M25.7214504,13.1974839 C26.6866412,13.2238065 27.5322901,12.5174839 28.3403053,11.5830323 L28.1145038,10.4730968 C28.1122214,10.4604169 28.1088896,10.4479447 28.104542,10.4358065 C28.0846183,10.3645161 28.0602672,10.2965161 28.0348092,10.2307097 C28.0602672,10.2965161 28.0846183,10.3645161 28.104542,10.4358065 C28.1088896,10.4479447 28.1122214,10.4604169 28.1145038,10.4730968 L28.2683588,11.2167097 C28.2473282,11.2265806 28.2262977,11.2375484 28.2041603,11.2463226 C27.6817176,11.4514194 27.0496947,11.0960645 26.7929008,10.4533548 C26.5837023,9.93019355 26.688855,9.37741935 27.0142748,9.07909677 C27.1352353,9.15473434 27.2509752,9.23827422 27.3607252,9.32916129 C26.3091985,8.45174194 24.6001908,8.33219355 24.2791985,7.78819355 C21.5684733,3.2003871 16.1990458,0.0767741935 10.0116412,0.0767741935 L2.37423664,0.0767741935 C1.07366412,0.0767741935 0.0188167939,1.0836129 0.0188167939,2.32735484 L0.0188167939,12.3233548 C0.0188167939,13.4914194 0.950801527,14.4510968 2.14290076,14.561871 C2.17836281,12.8182961 3.61654145,11.4240584 5.37652103,11.4270482 C7.13650062,11.4300379 8.56984629,12.8291536 8.59927481,14.5728387 L19.5783206,14.5728387 C19.5793504,13.0725081 20.6324356,11.7744193 22.1109702,11.4509602 C23.5895049,11.1275011 25.0962789,11.8655693 25.7347328,13.226 L25.7214504,13.1974839 Z M22.2159924,8.11612903 L16.2621374,8.08322581 C15.6542908,8.07840723 15.1641221,7.58877322 15.1641221,6.98645161 L15.1641221,2.72548387 C15.1644976,2.68418662 15.1844143,2.64545876 15.2179136,2.62088681 C15.2514128,2.59631486 15.2946095,2.58874857 15.3345802,2.60045161 C18.6551908,3.60070968 20.9065649,5.54309677 22.3687405,7.854 C22.4028712,7.90771679 22.4041843,7.97574199 22.3721517,8.03071279 C22.340119,8.0856836 22.2800059,8.11856439 22.2159924,8.11612903 Z\",\n id: \"Shape\",\n fill: \"#DE192B\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M27.5400382,9.49258065 C27.5832061,9.53535484 27.6241603,9.58032258 27.6640076,9.6263871 C27.6241603,9.58032258 27.5832061,9.53535484 27.5400382,9.49258065 Z\",\n id: \"Path\",\n fill: \"#D6D8E3\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M27.3784351,9.34451613 C27.4249237,9.38290323 27.4680916,9.4223871 27.5112595,9.46406452 C27.4680916,9.4223871 27.4238168,9.38290323 27.3784351,9.34451613 Z\",\n id: \"Path\",\n fill: \"#D6D8E3\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M28.8826718,14.212 L28.5229389,12.4670323 C27.9219084,13.2830323 27.1459924,13.8665161 25.9704962,13.9356129 L25.9594275,13.9016129 C26.0070831,14.1222382 26.0311978,14.3472167 26.031374,14.5728387 L26.1531298,14.5728387 L28.5661069,14.6057419 L28.5937786,14.6057419 C28.6867424,14.5956176 28.7710874,14.5471176 28.8260828,14.4721626 C28.8810782,14.3972075 28.9016245,14.3027477 28.8826718,14.212 Z\",\n id: \"Path\",\n fill: \"#DE192B\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M28.0080406,10.1725806 C27.9871606,10.1254194 27.9639606,10.0804516 27.9396006,10.0354839 C27.9662806,10.0804516 27.9894806,10.1254194 28.0080406,10.1725806 Z\",\n id: \"Path\",\n fill: \"#D6D8E3\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M27.8239548,9.83696774 C27.8564348,9.88303226 27.8865948,9.93019355 27.9155948,9.97954839 C27.8865948,9.93019355 27.8564348,9.88303226 27.8239548,9.83696774 Z\",\n id: \"Path\",\n fill: \"#D6D8E3\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M27.8045802,9.80735484 C27.7657445,9.75044003 27.7239979,9.69552966 27.6795038,9.64283871 C27.7239979,9.69552966 27.7657445,9.75044003 27.8045802,9.80735484 L27.8045802,9.80735484 Z\",\n id: \"Path\",\n fill: \"#D6D8E3\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M22.9686641,12.1544514 C21.9808648,12.154008 21.0901024,12.7433337 20.7118812,13.6475323 C20.3336599,14.551731 20.5424958,15.59266 21.2409755,16.2847687 C21.9394551,16.9768773 22.9899662,17.1838084 23.9024881,16.809037 C24.8150101,16.4342656 25.4097607,15.5516281 25.4093132,14.5728387 C25.4087022,13.2374512 24.3163442,12.1550568 22.9686641,12.1544514 L22.9686641,12.1544514 Z M22.9686641,15.6520651 C22.5280394,15.6525082 22.1305525,15.3898448 21.9616224,14.9866011 C21.7926922,14.5833574 21.8856028,14.1189833 22.1970132,13.8100994 C22.5084236,13.5012156 22.9769776,13.4086804 23.3841048,13.5756596 C23.791232,13.7426388 24.0567176,14.1362329 24.0567176,14.5728387 C24.0567176,15.1684506 23.5697584,15.6514592 22.9686641,15.6520651 Z\",\n id: \"Shape\",\n fill: \"#DE192B\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5.34839695,12.1544514 C4.36059763,12.154008 3.46983525,12.7433337 3.09161399,13.6475323 C2.71339273,14.551731 2.92222863,15.59266 3.6207083,16.2847687 C4.31918796,16.9768773 5.36969898,17.1838084 6.28222096,16.809037 C7.19474293,16.4342656 7.78949348,15.5516281 7.78904605,14.5728387 C7.78843502,13.2374512 6.69607702,12.1550568 5.34839695,12.1544514 L5.34839695,12.1544514 Z M5.34839695,15.6520651 C4.90777227,15.6525082 4.51028532,15.3898448 4.34135519,14.9866011 C4.17242506,14.5833574 4.26533559,14.1189833 4.576746,13.8100994 C4.88815642,13.5012156 5.3567104,13.4086804 5.76383762,13.5756596 C6.17096484,13.7426388 6.43645038,14.1362329 6.43645038,14.5728387 C6.43645038,15.1684506 5.94949127,15.6514592 5.34839695,15.6520651 Z\",\n id: \"Shape\",\n fill: \"#DE192B\"\n })))))))));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgRevenuesSel, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/revenues-sel.365feaa4.svg\";\nexport { ForwardRef as ReactComponent };","var _title, _desc, _g;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgForms = function SvgForms(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"25px\",\n height: \"18px\",\n viewBox: \"0 0 25 18\",\n ref: svgRef\n }, props), title === undefined ? _title || (_title = /*#__PURE__*/React.createElement(\"title\", null, \"iconsTekengebied 4\")) : title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _desc || (_desc = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\")), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"\\\\uD83C\\\\uDF08-Symbols\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Bottom-Nav-/-Adresboek\",\n transform: \"translate(-250.000000, -15.000000)\",\n fillRule: \"nonzero\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Bottom-Nav-/-Transporten\",\n transform: \"translate(-1.000000, 0.000000)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Bottom-Nav-/-Dashboard\",\n transform: \"translate(15.000000, 14.000000)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Bottom-Nav-/-Dashboard-/-Selected-Copy-3\",\n transform: \"translate(221.000000, 1.000000)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"iconsTekengebied-4\",\n transform: \"translate(15.000000, 0.000000)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M23.1537611,13.8057831 L6.59955752,17.643253 C6.29278813,17.7144381 5.9697285,17.6629569 5.70175959,17.5001844 C5.43379068,17.3374119 5.24297009,17.0767466 5.17146018,16.7757831 C5.16222031,16.7375294 5.15520312,16.6987924 5.15044248,16.659759 L3.93362832,7.70963855 C3.8536738,7.09728927 4.25551313,6.52370831 4.86725664,6.37698795 L22.6681416,2.25650602 C23.0245916,2.17374764 23.3820455,2.38970885 23.4668142,2.73903614 C23.4668142,2.76072289 23.4756637,2.78240964 23.4789823,2.80409639 L24.6836283,11.6327711 C24.8174197,12.634456 24.1566331,13.5730324 23.1537611,13.8057831 Z\",\n id: \"Path\",\n fill: \"#DFDFDF\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6.32300885,17.9457831 C5.64657035,17.9438214 5.05950049,17.4880169 4.90265487,16.843012 C4.89159292,16.7974699 4.88274336,16.7486747 4.87610619,16.7009639 L3.65044248,7.75084337 C3.54716908,6.99658632 4.04422129,6.28848362 4.79977876,6.11349398 L22.6006637,1.99301205 C23.1054478,1.8762683 23.6114715,2.18173834 23.7323009,2.67614458 C23.7398918,2.70653214 23.7458001,2.73729999 23.75,2.76831325 L24.9579646,11.6024096 C25.1124185,12.7421719 24.3598555,13.8109592 23.2179204,14.0736145 L23.2179204,14.0736145 L6.66261062,17.906747 C6.55132345,17.932547 6.43736601,17.9457831 6.32300885,17.9457831 L6.32300885,17.9457831 Z M22.8207965,2.51132438 C22.7905844,2.51132438 22.7604828,2.51490047 22.7311947,2.52216867 L4.93141593,6.6426506 C4.45169488,6.75328414 4.13587467,7.20264406 4.20132743,7.68144578 L5.42035398,16.6293976 C5.42353858,16.6590542 5.4290865,16.688421 5.4369469,16.7172289 C5.49212448,16.9474518 5.63848481,17.1466928 5.84373305,17.2709888 C6.0489813,17.3952848 6.29624814,17.43442 6.53097345,17.379759 L23.0862832,13.5422892 C23.9516549,13.3425741 24.5217512,12.5324556 24.4048673,11.6685542 L23.204646,2.84096386 L23.1980088,2.80301205 C23.1561029,2.63204395 23.0001744,2.51132438 22.8207965,2.51132438 L22.8207965,2.51132438 Z\",\n id: \"Shape\",\n fill: \"#FFFFFF\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M22.7876106,2.10795181 L4.44358407,6.5060241 C4.02471329,6.60493646 3.58316211,6.54448799 3.2079646,6.33686747 L1.00995575,5.12891566 C0.885799123,5.0565421 0.818742625,4.91765623 0.840360578,4.77765408 C0.86197853,4.63765192 0.967961851,4.52443994 1.10840708,4.4913253 L18.6183628,0.43373494 C19.4146933,0.249200178 20.2521694,0.351575683 20.9778761,0.722168675 L22.8429204,1.67746988 C22.9347681,1.7194672 22.9887012,1.81454913 22.9766259,1.91318788 C22.9645507,2.01182663 22.8891997,2.09170102 22.789823,2.11120482 L22.7876106,2.10795181 Z\",\n id: \"Path\",\n fill: \"#DFDFDF\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4.03761062,6.82156634 C3.69951581,6.8208613 3.36717202,6.73577865 3.07190265,6.57433735 L0.875,5.3653012 C0.730250231,5.28113957 0.625588272,5.14400411 0.584086893,4.9841264 C0.542585515,4.82424869 0.567652226,4.65475564 0.653761062,4.51301205 C0.740591367,4.37198237 0.880401756,4.26997515 1.04314159,4.22891566 L18.5542035,0.170240964 C19.4151615,-0.0294114069 20.32067,0.0814444237 21.1050885,0.48253012 L22.9712389,1.43674699 C23.1622159,1.53326045 23.2716555,1.73616257 23.2454911,1.94521328 C23.2193267,2.15426399 23.0630962,2.32521634 22.8539823,2.37361446 L4.50884956,6.76518072 C4.35469045,6.80267407 4.19644394,6.82156634 4.03761062,6.82156634 Z M19.4026549,0.614819078 C19.1597924,0.614733484 18.917747,0.642389883 18.6814159,0.697228916 L1.17146018,4.75481928 C1.15134583,4.76000141 1.13420363,4.77289712 1.12389381,4.79060241 C1.11230495,4.80842873 1.10870321,4.83014167 1.11393333,4.85064875 C1.11916344,4.87115583 1.13276526,4.88865286 1.15154867,4.89903614 L3.34181416,6.10373494 C3.6569698,6.27684527 4.02734452,6.32644103 4.37831858,6.24253012 L22.6227876,1.8726506 L20.8528761,0.965060241 C20.4054083,0.735247419 19.9078201,0.615075567 19.4026549,0.614819078 Z\",\n id: \"Shape\",\n fill: \"#FFFFFF\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3.92588496,17.3016867 L2.18141593,16.3149398 C1.83282854,16.1165003 1.59939731,15.7692576 1.55088496,15.376988 L0.346238938,5.61795181 C0.329932067,5.47454391 0.397284543,5.33433343 0.520445025,5.25529965 C0.643605506,5.17626588 0.80164188,5.17184125 0.92920354,5.24385542 L3.12168142,6.49192771 C3.42886595,6.66685512 3.63569276,6.97176664 3.68141593,7.31710843 L4.92367257,16.656506 C4.95684571,16.9032707 4.84348774,17.1469624 4.63167611,17.2842265 C4.41986448,17.4214907 4.1467233,17.428269 3.92809735,17.3016867 L3.92588496,17.3016867 Z\",\n id: \"Path\",\n fill: \"#DFDFDF\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4.26106195,17.660603 C4.095269,17.6607901 3.93235219,17.6181541 3.78871681,17.536988 L3.78871681,17.536988 L2.04424779,16.5491566 C1.62138561,16.3072576 1.33788705,15.8858007 1.27765487,15.4095181 L0.0730088496,5.65048193 C0.0413038477,5.40427313 0.155246288,5.16182773 0.366755875,5.02545043 C0.578265462,4.88907312 0.850499767,4.8825192 1.06858407,5.00855422 L3.26216814,6.25771084 C3.64307541,6.47563426 3.89989331,6.85384973 3.9579646,7.28240964 L5.19911504,16.6218072 C5.22937231,16.8663123 5.15913345,17.1125701 5.00389835,17.3062383 C4.84866324,17.4999064 4.62119195,17.6250655 4.37168142,17.6540964 C4.33497749,17.6584676 4.29803575,17.660603 4.26106195,17.660603 Z M4.06415929,17.0674699 C4.19255117,17.1377914 4.3502667,17.131893 4.47281915,17.0521863 C4.59537161,16.9724797 4.66221473,16.8323278 4.6460177,16.6890361 L3.40707965,7.35180723 C3.37299999,7.08998789 3.21799236,6.8580721 2.98672566,6.72289157 L0.789823009,5.47807229 C0.741526651,5.44960632 0.6791192,5.46128081 0.644911504,5.50518072 C0.62598065,5.52837251 0.617583665,5.55816114 0.621681416,5.58759036 L1.82632743,15.3466265 C1.86608876,15.6538438 2.04975491,15.9253028 2.32300885,16.0807229 L4.06415929,17.0674699 Z\",\n id: \"Shape\",\n fill: \"#FFFFFF\"\n })))))))));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgForms, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/forms.f762858d.svg\";\nexport { ForwardRef as ReactComponent };","var _title, _desc, _g;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgFormsSel = function SvgFormsSel(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"25px\",\n height: \"18px\",\n viewBox: \"0 0 25 18\",\n ref: svgRef\n }, props), title === undefined ? _title || (_title = /*#__PURE__*/React.createElement(\"title\", null, \"iconsTekengebied 4\")) : title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _desc || (_desc = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\")), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"\\\\uD83C\\\\uDF08-Symbols\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Bottom-Nav-/-Concepten\",\n transform: \"translate(-250.000000, -15.000000)\",\n fillRule: \"nonzero\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Bottom-Nav-/-Transporten\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Bottom-Nav-/-Dashboard\",\n transform: \"translate(14.000000, 14.000000)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Bottom-Nav-/-Dashboard-/-Selected-Copy-3\",\n transform: \"translate(220.000000, 1.000000)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"iconsTekengebied-4\",\n transform: \"translate(16.000000, 0.000000)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M23.1537611,13.8057831 L6.59955752,17.643253 C6.29278813,17.7144381 5.9697285,17.6629569 5.70175959,17.5001844 C5.43379068,17.3374119 5.24297009,17.0767466 5.17146018,16.7757831 C5.16222031,16.7375294 5.15520312,16.6987924 5.15044248,16.659759 L3.93362832,7.70963855 C3.8536738,7.09728927 4.25551313,6.52370831 4.86725664,6.37698795 L22.6681416,2.25650602 C23.0245916,2.17374764 23.3820455,2.38970885 23.4668142,2.73903614 C23.4668142,2.76072289 23.4756637,2.78240964 23.4789823,2.80409639 L24.6836283,11.6327711 C24.8174197,12.634456 24.1566331,13.5730324 23.1537611,13.8057831 Z\",\n id: \"Path\",\n fill: \"#DE192B\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6.32300885,17.9457831 C5.64657035,17.9438214 5.05950049,17.4880169 4.90265487,16.843012 C4.89159292,16.7974699 4.88274336,16.7486747 4.87610619,16.7009639 L3.65044248,7.75084337 C3.54716908,6.99658632 4.04422129,6.28848362 4.79977876,6.11349398 L22.6006637,1.99301205 C23.1054478,1.8762683 23.6114715,2.18173834 23.7323009,2.67614458 C23.7398918,2.70653214 23.7458001,2.73729999 23.75,2.76831325 L24.9579646,11.6024096 C25.1124185,12.7421719 24.3598555,13.8109592 23.2179204,14.0736145 L23.2179204,14.0736145 L6.66261062,17.906747 C6.55132345,17.932547 6.43736601,17.9457831 6.32300885,17.9457831 L6.32300885,17.9457831 Z M22.8207965,2.51132438 C22.7905844,2.51132438 22.7604828,2.51490047 22.7311947,2.52216867 L4.93141593,6.6426506 C4.45169488,6.75328414 4.13587467,7.20264406 4.20132743,7.68144578 L5.42035398,16.6293976 C5.42353858,16.6590542 5.4290865,16.688421 5.4369469,16.7172289 C5.49212448,16.9474518 5.63848481,17.1466928 5.84373305,17.2709888 C6.0489813,17.3952848 6.29624814,17.43442 6.53097345,17.379759 L23.0862832,13.5422892 C23.9516549,13.3425741 24.5217512,12.5324556 24.4048673,11.6685542 L23.204646,2.84096386 L23.1980088,2.80301205 C23.1561029,2.63204395 23.0001744,2.51132438 22.8207965,2.51132438 L22.8207965,2.51132438 Z\",\n id: \"Shape\",\n fill: \"#FFFFFF\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M22.7876106,2.10795181 L4.44358407,6.5060241 C4.02471329,6.60493646 3.58316211,6.54448799 3.2079646,6.33686747 L1.00995575,5.12891566 C0.885799123,5.0565421 0.818742625,4.91765623 0.840360578,4.77765408 C0.86197853,4.63765192 0.967961851,4.52443994 1.10840708,4.4913253 L18.6183628,0.43373494 C19.4146933,0.249200178 20.2521694,0.351575683 20.9778761,0.722168675 L22.8429204,1.67746988 C22.9347681,1.7194672 22.9887012,1.81454913 22.9766259,1.91318788 C22.9645507,2.01182663 22.8891997,2.09170102 22.789823,2.11120482 L22.7876106,2.10795181 Z\",\n id: \"Path\",\n fill: \"#DE192B\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4.03761062,6.82156634 C3.69951581,6.8208613 3.36717202,6.73577865 3.07190265,6.57433735 L0.875,5.3653012 C0.730250231,5.28113957 0.625588272,5.14400411 0.584086893,4.9841264 C0.542585515,4.82424869 0.567652226,4.65475564 0.653761062,4.51301205 C0.740591367,4.37198237 0.880401756,4.26997515 1.04314159,4.22891566 L18.5542035,0.170240964 C19.4151615,-0.0294114069 20.32067,0.0814444237 21.1050885,0.48253012 L22.9712389,1.43674699 C23.1622159,1.53326045 23.2716555,1.73616257 23.2454911,1.94521328 C23.2193267,2.15426399 23.0630962,2.32521634 22.8539823,2.37361446 L4.50884956,6.76518072 C4.35469045,6.80267407 4.19644394,6.82156634 4.03761062,6.82156634 Z M19.4026549,0.614819078 C19.1597924,0.614733484 18.917747,0.642389883 18.6814159,0.697228916 L1.17146018,4.75481928 C1.15134583,4.76000141 1.13420363,4.77289712 1.12389381,4.79060241 C1.11230495,4.80842873 1.10870321,4.83014167 1.11393333,4.85064875 C1.11916344,4.87115583 1.13276526,4.88865286 1.15154867,4.89903614 L3.34181416,6.10373494 C3.6569698,6.27684527 4.02734452,6.32644103 4.37831858,6.24253012 L22.6227876,1.8726506 L20.8528761,0.965060241 C20.4054083,0.735247419 19.9078201,0.615075567 19.4026549,0.614819078 Z\",\n id: \"Shape\",\n fill: \"#FFFFFF\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3.92588496,17.3016867 L2.18141593,16.3149398 C1.83282854,16.1165003 1.59939731,15.7692576 1.55088496,15.376988 L0.346238938,5.61795181 C0.329932067,5.47454391 0.397284543,5.33433343 0.520445025,5.25529965 C0.643605506,5.17626588 0.80164188,5.17184125 0.92920354,5.24385542 L3.12168142,6.49192771 C3.42886595,6.66685512 3.63569276,6.97176664 3.68141593,7.31710843 L4.92367257,16.656506 C4.95684571,16.9032707 4.84348774,17.1469624 4.63167611,17.2842265 C4.41986448,17.4214907 4.1467233,17.428269 3.92809735,17.3016867 L3.92588496,17.3016867 Z\",\n id: \"Path\",\n fill: \"#DE192B\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4.26106195,17.660603 C4.095269,17.6607901 3.93235219,17.6181541 3.78871681,17.536988 L3.78871681,17.536988 L2.04424779,16.5491566 C1.62138561,16.3072576 1.33788705,15.8858007 1.27765487,15.4095181 L0.0730088496,5.65048193 C0.0413038477,5.40427313 0.155246288,5.16182773 0.366755875,5.02545043 C0.578265462,4.88907312 0.850499767,4.8825192 1.06858407,5.00855422 L3.26216814,6.25771084 C3.64307541,6.47563426 3.89989331,6.85384973 3.9579646,7.28240964 L5.19911504,16.6218072 C5.22937231,16.8663123 5.15913345,17.1125701 5.00389835,17.3062383 C4.84866324,17.4999064 4.62119195,17.6250655 4.37168142,17.6540964 C4.33497749,17.6584676 4.29803575,17.660603 4.26106195,17.660603 Z M4.06415929,17.0674699 C4.19255117,17.1377914 4.3502667,17.131893 4.47281915,17.0521863 C4.59537161,16.9724797 4.66221473,16.8323278 4.6460177,16.6890361 L3.40707965,7.35180723 C3.37299999,7.08998789 3.21799236,6.8580721 2.98672566,6.72289157 L0.789823009,5.47807229 C0.741526651,5.44960632 0.6791192,5.46128081 0.644911504,5.50518072 C0.62598065,5.52837251 0.617583665,5.55816114 0.621681416,5.58759036 L1.82632743,15.3466265 C1.86608876,15.6538438 2.04975491,15.9253028 2.32300885,16.0807229 L4.06415929,17.0674699 Z\",\n id: \"Shape\",\n fill: \"#FFFFFF\"\n })))))))));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgFormsSel, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/forms-sel.6807aab8.svg\";\nexport { ForwardRef as ReactComponent };","var _title, _desc, _g;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgLoa = function SvgLoa(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"21px\",\n height: \"21px\",\n viewBox: \"0 0 21 21\",\n ref: svgRef\n }, props), title === undefined ? _title || (_title = /*#__PURE__*/React.createElement(\"title\", null, \"Fill 1\")) : title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _desc || (_desc = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\")), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"\\\\uD83C\\\\uDF08-Symbols\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Bottom-Nav-/-Adresboek-Copy\",\n transform: \"translate(-228.000000, -14.000000)\",\n fill: \"#DFDFDF\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Bottom-Nav-/-Transporten\",\n transform: \"translate(-1.000000, 0.000000)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Bottom-Nav-/-Dashboard\",\n transform: \"translate(15.000000, 14.000000)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Bottom-Nav-/-Dashboard-/-Selected-Copy-2\",\n transform: \"translate(193.000000, 0.000000)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M31.5063547,8.03763992e-05 C31.4818006,0.000991639253 31.4581568,0.00372076662 31.4336026,0.00736348744 C31.0761976,0.0483306957 30.8088423,0.354226021 30.8152212,0.713813606 L30.8152212,3.04440914 C30.8124927,3.23194983 30.8852448,3.41220042 31.0161987,3.54511428 C31.1471525,3.67894174 31.3262973,3.75359305 31.5136369,3.75359305 C31.7009766,3.75359305 31.8801214,3.67894174 32.0110752,3.54511428 C32.142029,3.41219809 32.2147812,3.23192886 32.2120527,3.04440914 L32.2120527,0.713813606 C32.2156914,0.524452719 32.142937,0.341454357 32.0101649,0.207631562 C31.8773929,0.0728951727 31.6955033,-0.00175846348 31.5063478,3.14595865e-05 L31.5063547,8.03763992e-05 Z M24.4495151,2.80401986 C24.1775968,2.83042085 23.945698,3.01340989 23.8565795,3.27195683 C23.7674588,3.5305131 23.8374824,3.81726958 24.0348211,4.00572153 L25.6644686,5.63713841 C25.9372949,5.9102609 26.3810712,5.9102609 26.6538975,5.63713841 C26.9267238,5.36401592 26.9267238,4.9197578 26.6538975,4.6466353 L25.0242499,3.01521843 C24.8923858,2.87957078 24.7114042,2.80309695 24.5222719,2.80400821 C24.4977178,2.80309695 24.4740739,2.80309695 24.4495198,2.80400821 L24.4495151,2.80401986 Z M38.4833416,2.80401986 C38.3023716,2.80948278 38.1295917,2.88504535 38.0031776,3.01523008 L36.37353,4.64664696 C36.1007037,4.91976945 36.1007037,5.36402757 36.37353,5.63715006 C36.6463563,5.91027255 37.0901326,5.91027255 37.3629589,5.63715006 L38.9926065,4.00573319 C39.2008591,3.80453753 39.2636169,3.49591541 39.1499326,3.23008769 C39.0371657,2.96335103 38.7725295,2.79400996 38.4833369,2.80403152 L38.4833416,2.80401986 Z M31.5135718,4.4427082 C28.1788472,4.4427082 25.4605951,7.16391154 25.4605951,10.5022566 C25.4605951,13.8406016 28.1788472,16.561805 31.5135718,16.561805 C34.8482963,16.561805 37.5665484,13.8406016 37.5665484,10.5022566 C37.5665484,7.16391154 34.8482963,4.4427082 31.5135718,4.4427082 Z M21.6630506,9.80307792 C21.4775315,9.81309249 21.3038297,9.89593817 21.1801628,10.033406 C21.0555739,10.1717851 20.9910072,10.352954 21.0010109,10.5386791 C21.0101048,10.7243996 21.0937705,10.89829 21.2310892,11.0220913 C21.3693183,11.1468154 21.5502906,11.2114521 21.7358144,11.2014376 L24.0638823,11.2014376 C24.2512196,11.204169 24.4312747,11.1313379 24.5640445,11.0002419 C24.6977268,10.8691459 24.7722971,10.6898066 24.7722971,10.5022636 C24.7722971,10.3147206 24.6977268,10.1353812 24.5640445,10.0042852 C24.4312724,9.87318923 24.2511987,9.80035812 24.0638823,9.80308958 L21.7358144,9.80308958 C21.7112602,9.80217831 21.6876164,9.80217831 21.6630623,9.80308958 L21.6630506,9.80307792 Z M38.8907535,9.80307792 C38.7052344,9.81309249 38.5315326,9.89593817 38.4078656,10.033406 C38.2832768,10.1717851 38.2187101,10.352954 38.2287138,10.5386791 C38.2378073,10.7243996 38.3214734,10.89829 38.4587921,11.0220913 C38.5970212,11.1468154 38.7779935,11.2114521 38.9635173,11.2014376 L41.2915852,11.2014376 C41.4789225,11.204169 41.6589776,11.1313379 41.7917473,11.0002419 C41.9254297,10.8691459 42,10.6898066 42,10.5022636 C42,10.3147206 41.9254297,10.1353812 41.7917473,10.0042852 C41.6589753,9.87318923 41.4789016,9.80035812 41.2915852,9.80308958 L38.9635173,9.80308958 C38.9389631,9.80217831 38.9153193,9.80217831 38.8907651,9.80308958 L38.8907535,9.80307792 Z M26.1445814,15.1562228 C25.9636114,15.1616857 25.7908315,15.2372483 25.6644174,15.367433 L24.0347698,16.9988499 C23.7619436,17.2719724 23.7619436,17.7162305 24.0347698,17.989353 C24.3075961,18.2624755 24.7513724,18.2624755 25.0241987,17.989353 L26.6538463,16.3579361 C26.862099,16.1567405 26.9248567,15.8481184 26.8111725,15.5822906 C26.6984055,15.315554 26.4337694,15.1462129 26.1445768,15.1562345 L26.1445814,15.1562228 Z M36.7882753,15.1562228 C36.516357,15.1826238 36.2844581,15.3656128 36.1953397,15.6241598 C36.1062189,15.882716 36.1762426,16.1694725 36.3735812,16.3579245 L38.0032288,17.9893414 C38.2760551,18.2624638 38.7198314,18.2624638 38.9926577,17.9893414 C39.265484,17.7162189 39.265484,17.2719607 38.9926577,16.9988382 L37.3630101,15.3674214 C37.231146,15.2317737 37.0501643,15.1552999 36.8610321,15.1562112 C36.836478,15.1552999 36.8128341,15.1552999 36.78828,15.1562112 L36.7882753,15.1562228 Z M31.5063547,17.2464873 C31.4818006,17.2473986 31.4581568,17.2501277 31.4336026,17.2537704 C31.0761976,17.2947376 30.8088423,17.600633 30.8152212,17.9602206 L30.8152212,20.2908159 C30.8124927,20.4783566 30.8852448,20.6586071 31.0161987,20.7915212 C31.1471525,20.9253487 31.3262973,21 31.5136369,21 C31.7009766,21 31.8801214,20.9253487 32.0110752,20.7915212 C32.142029,20.658605 32.2147812,20.4783358 32.2120527,20.2908159 L32.2120527,17.9602206 C32.2156914,17.7708597 32.142937,17.5878613 32.0101649,17.4540385 C31.8773929,17.3193021 31.6955033,17.2446485 31.5063478,17.2464384 L31.5063547,17.2464873 Z\",\n id: \"Fill-1\"\n }))))))));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgLoa, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/loa.267c3904.svg\";\nexport { ForwardRef as ReactComponent };","var _title, _desc, _g;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgLoaSel = function SvgLoaSel(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"21px\",\n height: \"21px\",\n viewBox: \"0 0 21 21\",\n ref: svgRef\n }, props), title === undefined ? _title || (_title = /*#__PURE__*/React.createElement(\"title\", null, \"Fill 1\")) : title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _desc || (_desc = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\")), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"\\\\uD83C\\\\uDF08-Symbols\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Bottom-Nav-/-Adresboek\",\n transform: \"translate(-228.000000, -14.000000)\",\n fill: \"#DE192B\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Bottom-Nav-/-Transporten\",\n transform: \"translate(-1.000000, 0.000000)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Bottom-Nav-/-Dashboard\",\n transform: \"translate(15.000000, 14.000000)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Bottom-Nav-/-Dashboard-/-Selected-Copy-2\",\n transform: \"translate(193.000000, 0.000000)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M31.5063547,8.03763992e-05 C31.4818006,0.000991639253 31.4581568,0.00372076662 31.4336026,0.00736348744 C31.0761976,0.0483306957 30.8088423,0.354226021 30.8152212,0.713813606 L30.8152212,3.04440914 C30.8124927,3.23194983 30.8852448,3.41220042 31.0161987,3.54511428 C31.1471525,3.67894174 31.3262973,3.75359305 31.5136369,3.75359305 C31.7009766,3.75359305 31.8801214,3.67894174 32.0110752,3.54511428 C32.142029,3.41219809 32.2147812,3.23192886 32.2120527,3.04440914 L32.2120527,0.713813606 C32.2156914,0.524452719 32.142937,0.341454357 32.0101649,0.207631562 C31.8773929,0.0728951727 31.6955033,-0.00175846348 31.5063478,3.14595865e-05 L31.5063547,8.03763992e-05 Z M24.4495151,2.80401986 C24.1775968,2.83042085 23.945698,3.01340989 23.8565795,3.27195683 C23.7674588,3.5305131 23.8374824,3.81726958 24.0348211,4.00572153 L25.6644686,5.63713841 C25.9372949,5.9102609 26.3810712,5.9102609 26.6538975,5.63713841 C26.9267238,5.36401592 26.9267238,4.9197578 26.6538975,4.6466353 L25.0242499,3.01521843 C24.8923858,2.87957078 24.7114042,2.80309695 24.5222719,2.80400821 C24.4977178,2.80309695 24.4740739,2.80309695 24.4495198,2.80400821 L24.4495151,2.80401986 Z M38.4833416,2.80401986 C38.3023716,2.80948278 38.1295917,2.88504535 38.0031776,3.01523008 L36.37353,4.64664696 C36.1007037,4.91976945 36.1007037,5.36402757 36.37353,5.63715006 C36.6463563,5.91027255 37.0901326,5.91027255 37.3629589,5.63715006 L38.9926065,4.00573319 C39.2008591,3.80453753 39.2636169,3.49591541 39.1499326,3.23008769 C39.0371657,2.96335103 38.7725295,2.79400996 38.4833369,2.80403152 L38.4833416,2.80401986 Z M31.5135718,4.4427082 C28.1788472,4.4427082 25.4605951,7.16391154 25.4605951,10.5022566 C25.4605951,13.8406016 28.1788472,16.561805 31.5135718,16.561805 C34.8482963,16.561805 37.5665484,13.8406016 37.5665484,10.5022566 C37.5665484,7.16391154 34.8482963,4.4427082 31.5135718,4.4427082 Z M21.6630506,9.80307792 C21.4775315,9.81309249 21.3038297,9.89593817 21.1801628,10.033406 C21.0555739,10.1717851 20.9910072,10.352954 21.0010109,10.5386791 C21.0101048,10.7243996 21.0937705,10.89829 21.2310892,11.0220913 C21.3693183,11.1468154 21.5502906,11.2114521 21.7358144,11.2014376 L24.0638823,11.2014376 C24.2512196,11.204169 24.4312747,11.1313379 24.5640445,11.0002419 C24.6977268,10.8691459 24.7722971,10.6898066 24.7722971,10.5022636 C24.7722971,10.3147206 24.6977268,10.1353812 24.5640445,10.0042852 C24.4312724,9.87318923 24.2511987,9.80035812 24.0638823,9.80308958 L21.7358144,9.80308958 C21.7112602,9.80217831 21.6876164,9.80217831 21.6630623,9.80308958 L21.6630506,9.80307792 Z M38.8907535,9.80307792 C38.7052344,9.81309249 38.5315326,9.89593817 38.4078656,10.033406 C38.2832768,10.1717851 38.2187101,10.352954 38.2287138,10.5386791 C38.2378073,10.7243996 38.3214734,10.89829 38.4587921,11.0220913 C38.5970212,11.1468154 38.7779935,11.2114521 38.9635173,11.2014376 L41.2915852,11.2014376 C41.4789225,11.204169 41.6589776,11.1313379 41.7917473,11.0002419 C41.9254297,10.8691459 42,10.6898066 42,10.5022636 C42,10.3147206 41.9254297,10.1353812 41.7917473,10.0042852 C41.6589753,9.87318923 41.4789016,9.80035812 41.2915852,9.80308958 L38.9635173,9.80308958 C38.9389631,9.80217831 38.9153193,9.80217831 38.8907651,9.80308958 L38.8907535,9.80307792 Z M26.1445814,15.1562228 C25.9636114,15.1616857 25.7908315,15.2372483 25.6644174,15.367433 L24.0347698,16.9988499 C23.7619436,17.2719724 23.7619436,17.7162305 24.0347698,17.989353 C24.3075961,18.2624755 24.7513724,18.2624755 25.0241987,17.989353 L26.6538463,16.3579361 C26.862099,16.1567405 26.9248567,15.8481184 26.8111725,15.5822906 C26.6984055,15.315554 26.4337694,15.1462129 26.1445768,15.1562345 L26.1445814,15.1562228 Z M36.7882753,15.1562228 C36.516357,15.1826238 36.2844581,15.3656128 36.1953397,15.6241598 C36.1062189,15.882716 36.1762426,16.1694725 36.3735812,16.3579245 L38.0032288,17.9893414 C38.2760551,18.2624638 38.7198314,18.2624638 38.9926577,17.9893414 C39.265484,17.7162189 39.265484,17.2719607 38.9926577,16.9988382 L37.3630101,15.3674214 C37.231146,15.2317737 37.0501643,15.1552999 36.8610321,15.1562112 C36.836478,15.1552999 36.8128341,15.1552999 36.78828,15.1562112 L36.7882753,15.1562228 Z M31.5063547,17.2464873 C31.4818006,17.2473986 31.4581568,17.2501277 31.4336026,17.2537704 C31.0761976,17.2947376 30.8088423,17.600633 30.8152212,17.9602206 L30.8152212,20.2908159 C30.8124927,20.4783566 30.8852448,20.6586071 31.0161987,20.7915212 C31.1471525,20.9253487 31.3262973,21 31.5136369,21 C31.7009766,21 31.8801214,20.9253487 32.0110752,20.7915212 C32.142029,20.658605 32.2147812,20.4783358 32.2120527,20.2908159 L32.2120527,17.9602206 C32.2156914,17.7708597 32.142937,17.5878613 32.0101649,17.4540385 C31.8773929,17.3193021 31.6955033,17.2446485 31.5063478,17.2464384 L31.5063547,17.2464873 Z\",\n id: \"Fill-1\"\n }))))))));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgLoaSel, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/loa-sel.13865128.svg\";\nexport { ForwardRef as ReactComponent };","import React, { useContext } from 'react';\r\nimport { ReactComponent as DashboardIcon } from './icons/dashboard.svg';\r\nimport { ReactComponent as DashboardSelectedIcon } from './icons/dashboard-sel.svg';\r\nimport { ReactComponent as RevenuesIcon } from './icons/revenues.svg';\r\nimport { ReactComponent as RevenuesSelectedIcon } from './icons/revenues-sel.svg';\r\nimport { ReactComponent as FormsIcon } from './icons/forms.svg';\r\nimport { ReactComponent as FormsSelectedIcon } from './icons/forms-sel.svg';\r\nimport { ReactComponent as LoaIcon } from './icons/loa.svg';\r\nimport { ReactComponent as LoaSelectedICon } from './icons/loa-sel.svg';\r\nimport { NavLink } from 'react-router-dom';\r\nimport { useLocalizationContext } from '../../hooks/useLocalizationContext';\r\nimport * as routes from '../../routes';\r\nimport './MobileFooter.scss';\r\nimport { RouterContext } from '../../context/RouterContext';\r\n\r\nexport const MobileFooter = () => {\r\n const locContext = useLocalizationContext();\r\n\r\n return (\r\n
\r\n } selectedIcon={} />\r\n } selectedIcon={} />\r\n } selectedIcon={} />\r\n } selectedIcon={} />\r\n
\r\n );\r\n}\r\n\r\ninterface IProps{\r\n to: string;\r\n regularIcon: JSX.Element;\r\n selectedIcon: JSX.Element;\r\n text: string;\r\n}\r\nconst MobileNavLink = ({to, regularIcon, selectedIcon, text}: IProps) => {\r\n const routerContext = useContext(RouterContext);\r\n \r\n return (\r\n \r\n
\r\n {routerContext.activeRoute.endsWith(to) ? selectedIcon : regularIcon}\r\n {text}\r\n
\r\n
\r\n );\r\n}\r\n","import React from 'react';\r\nimport { ISettlementProposalQueryParams } from '../gen/ApiClients';\r\n\r\ninterface IProps {\r\n\tparams: ISettlementProposalQueryParams;\r\n\tsetParams: (pars: ISettlementProposalQueryParams) => void;\r\n}\r\n\r\nexport const SettlementProposalQueryParamsContext = React.createContext(undefined as any);\r\n","import React from 'react';\r\nimport { useLocalizationContext } from '../../hooks/useLocalizationContext';\r\nimport { FilterBar } from '../common/filter/FilterBar';\r\nimport { DateFilterItem } from '../common/filter/DateFilterItem';\r\nimport { ISettlementProposalQueryParams } from '../../gen/ApiClients';\r\n\r\ninterface IProps {\r\n params: ISettlementProposalQueryParams;\r\n onFilter: (params: ISettlementProposalQueryParams) => void;\r\n}\r\n\r\nfunction isFiltered(pars: ISettlementProposalQueryParams): boolean {\r\n if (pars === undefined) {\r\n return false;\r\n }\r\n if (pars.afterDate || pars.beforeDate) {\r\n return true;\r\n }\r\n return false;\r\n}\r\n\r\nexport const FilterSettlementProposals = ({ params, onFilter, }: IProps) => {\r\n const locContext = useLocalizationContext();\r\n const handleClear = () => {\r\n onFilter({ ...params, afterDate: undefined, beforeDate: undefined, });\r\n }\r\n return (\r\n handleClear()}\r\n isFiltered={isFiltered(params)}>\r\n
\r\n onFilter({ ...params, afterDate: val.after, beforeDate: val.before })} />\r\n
\r\n \r\n );\r\n}","import { useContext } from 'react';\r\nimport { RouterContext } from '../../context/RouterContext';\r\nimport { WrapperFullScreenLoadContext } from '../../context/WrapperFullScreenLoadContext';\r\nimport { BuildClient, ISettlementProposal } from '../../gen/ApiClients';\r\nimport { useClient, useDownloadClient } from '../../hooks/useClient';\r\nimport { IconButton } from '../common/buttons/IconButton';\r\nimport './SettlementProposals.scss';\r\nimport React from 'react';\r\n\r\ninterface IProps {\r\n\titem: ISettlementProposal;\r\n\tisMobile: boolean;\r\n}\r\n\r\nexport const SpsActions = ({ item, isMobile }: IProps) => {\r\n\tconst buildClient = useClient(BuildClient);\r\n\tconst wrapperLoaderContext = useContext(WrapperFullScreenLoadContext);\r\n\tconst routerContext = useContext(RouterContext);\r\n\tconst downloadClient = useDownloadClient(routerContext);\r\n\r\n\tconst download = async () => {\r\n\t\twrapperLoaderContext.setLoading(true);\r\n\t\tconst baseUrl = await buildClient.url();\r\n\t\tconst url = `${baseUrl}/api/SettlementProposals/${item.documentId}/download`;\r\n\t\tawait downloadClient.download(url, `SP_${item.documentId}.pdf`, () => wrapperLoaderContext.setLoading(false));\r\n\t};\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t {\r\n\t\t\t\t\te.preventDefault();\r\n\t\t\t\t\tdownload();\r\n\t\t\t\t}}\r\n\t\t\t/>\r\n\t\t
\r\n\t);\r\n};\r\n","import { useContext, useEffect, useState } from 'react';\r\nimport { Card, Divider, Responsive } from 'semantic-ui-react';\r\nimport { RouterContext } from '../../context/RouterContext';\r\nimport { SettlementProposalQueryParamsContext } from '../../context/SettlementProposalsQueryParamsContext';\r\nimport { WrapperFullScreenLoadContext } from '../../context/WrapperFullScreenLoadContext';\r\nimport { WrapperSearchContext } from '../../context/WrapperSearchTextContext';\r\nimport {\r\n\tBuildClient,\r\n\tISettlementProposalQueryResult,\r\n\tISettlementProposal,\r\n\tISettlementProposalQueryParams,\r\n\tSettlementProposalQueryParams,\r\n\tSettlementProposalsClient,\r\n} from '../../gen/ApiClients';\r\nimport { useClient, useDownloadClient } from '../../hooks/useClient';\r\nimport { useLocalizationContext } from '../../hooks/useLocalizationContext';\r\nimport { toDefaultFormat, tryCatchWithLoading } from '../../infrastructure/Utils';\r\nimport { PrimaryButton } from '../common/buttons/PrimaryButton';\r\nimport { BaseTableSortAndPage } from '../common/table/BaseTableSortAndPage';\r\nimport { PagingFooter } from '../common/table/PagingFooter';\r\nimport { createHeader, createSortableHeader } from '../common/table/TableUtils';\r\nimport { FilterSettlementProposals } from './FilterSettlementProposals';\r\nimport './SettlementProposals.scss';\r\nimport { SpsActions } from './SpsActions';\r\nimport React from 'react';\r\n\r\nexport const SettlementProposals = () => {\r\n\tconst [isFilterOpen, setIsFilterOpen] = useState(false);\r\n\tconst locContext = useLocalizationContext();\r\n\tconst [queryResult, setQueryResult] = useState();\r\n\tconst { params, setParams } = useContext(SettlementProposalQueryParamsContext);\r\n\tconst client = useClient(SettlementProposalsClient);\r\n\tconst wrapperLoaderContext = useContext(WrapperFullScreenLoadContext);\r\n\tconst routerContext = useContext(RouterContext);\r\n\tconst downloadClient = useDownloadClient(routerContext);\r\n\tuseContext(WrapperSearchContext).init(`${locContext.search}...`, params.searchString, (str: string) => {\r\n\t\tsetParams({ ...params, searchString: str, pageIndex: 1 });\r\n\t});\r\n\tconst buildClient = useClient(BuildClient);\r\n\r\n\tuseEffect(\r\n\t\t() => {\r\n\t\t\tload();\r\n\t\t},\r\n\t\t// eslint-disable-next-line\r\n\t\t[params]\r\n\t);\r\n\r\n\tuseEffect(() => {\r\n\t\tconsole.log(params);\r\n\t}, [params]);\r\n\r\n\tconst load = async () => {\r\n\t\tsetQueryResult(await tryCatchWithLoading(client.query(new SettlementProposalQueryParams(params)), wrapperLoaderContext.setLoading, locContext.serverError));\r\n\t};\r\n\r\n\tconst download = async (inst: ISettlementProposal) => {\r\n\t\twrapperLoaderContext.setLoading(true);\r\n\t\tconst baseUrl = await buildClient.url();\r\n\t\tconst url = `${baseUrl}/api/SettlementProposals/${inst.documentId}/download`;\r\n\t\tawait downloadClient.download(url, `SP_${inst.documentId}.pdf`, () => wrapperLoaderContext.setLoading(false));\r\n\t};\r\n\r\n\tconst headers = [\r\n\t\tcreateSortableHeader(locContext.date, 'postingDate', t => toDefaultFormat(t.postingDate)),\r\n\t\tcreateSortableHeader(locContext.fileNumber, 'documentId', t => t.documentId),\r\n\t\tcreateHeader(locContext.amountExVat, t =>
€ {t.amount}
),\r\n\t\t// createEmptyHeader('actions', t => <, false, true),\r\n\t];\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
{locContext.settlementProposals}
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t setIsFilterOpen(!isFilterOpen)}>\r\n\t\t\t\t\t\t\t{locContext.filterOn}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{isFilterOpen ? (\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t setParams({ ...pars, pageIndex: 1 })}\r\n\t\t\t\t\t\t\t\tparams={params}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t) : null}\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t setParams({ ...pars, pageIndex: 1 })}\r\n\t\t\t\t\t\tparams={params}\r\n\t\t\t\t\t/>\r\n\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tparams={params}\r\n\t\t\t\t\t\t\tonSortOrPage={t => {\r\n\t\t\t\t\t\t\t\tconsole.log('set params');\r\n\t\t\t\t\t\t\t\tsetParams(t);\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\tqueryResult={queryResult}\r\n\t\t\t\t\t\t\tcanSort={true}\r\n\t\t\t\t\t\t\theaders={headers}\r\n\t\t\t\t\t\t\tuniqueIdentifier='documentId'\r\n\t\t\t\t\t\t\tsingleIdentifier={locContext.form}\r\n\t\t\t\t\t\t\tonClickRow={inst => download(inst)}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{queryResult && queryResult.values ? (\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t{queryResult.values.map(t => (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t
{toDefaultFormat(t.postingDate)}
\r\n\t\t\t\t\t\t\t\t\t\t\t\t
{t.documentId}
\r\n\t\t\t\t\t\t\t\t\t\t\t\t
€ {t.amount}
\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tsetParams({\r\n\t\t\t\t\t\t\t\t\t\t\t...params,\r\n\t\t\t\t\t\t\t\t\t\t\tpageIndex: params.pageIndex ? params.pageIndex + 1 : 1,\r\n\t\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\tonPrevious={() =>\r\n\t\t\t\t\t\t\t\t\t\tsetParams({\r\n\t\t\t\t\t\t\t\t\t\t\t...params,\r\n\t\t\t\t\t\t\t\t\t\t\tpageIndex: params.pageIndex ? params.pageIndex - 1 : 1,\r\n\t\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t) : null}\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n};\r\n","import React, { useState, useEffect } from 'react';\r\nimport { Divider, Responsive } from 'semantic-ui-react';\r\nimport './Settings.scss';\r\nimport { IUserInfo, UserClient, BuildClient } from '../../gen/ApiClients';\r\nimport { useClient } from '../../hooks/useClient';\r\nimport { clearCacheAndReloadApplication } from '../../infrastructure/Utils';\r\nimport { PrimaryButton } from '../common/buttons/PrimaryButton';\r\nimport { build } from '../../build';\r\nimport { LanguageDropDown } from './LanguageDropdown';\r\n\r\nexport const Settings = () => {\r\n const [userInfo, setUserInfo] = useState();\r\n const [currentBuild, setCurrentBuild] = useState();\r\n const [isOutdated, setIsOutdated] = useState(false);\r\n const client = useClient(UserClient);\r\n const buildClient = useClient(BuildClient);\r\n\r\n useEffect(() => {\r\n load();\r\n }, \r\n // eslint-disable-next-line\r\n []);\r\n\r\n useEffect(() => {\r\n if (currentBuild === undefined) {\r\n setIsOutdated(false);\r\n } else if (build < currentBuild) {\r\n setIsOutdated(true)\r\n } else {\r\n setIsOutdated(false);\r\n }\r\n }, [currentBuild]);\r\n\r\n const load = async () => {\r\n setUserInfo(await client.info());\r\n setCurrentBuild(await buildClient.current());\r\n }\r\n\r\n const onUpdate = () => {\r\n clearCacheAndReloadApplication();\r\n }\r\n\r\n return (\r\n
\r\n
Taal/Language/Langue
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
Name: {userInfo ? userInfo.name : ''}
\r\n
CompanyName: {userInfo ? userInfo.companyName : ''}
\r\n \r\n
Current-Build: {currentBuild}
\r\n
Loaded-Build: {build}
\r\n {isOutdated ?\r\n
You're using an old version of this application. Click Ctrl+F5 to load the latest version.
\r\n :
Application is up-to-date!
}\r\n {isOutdated ?\r\n
\r\n
\r\n onUpdate()}>Update application\r\n
\r\n
: null}\r\n
\r\n );\r\n}","import { useState } from 'react';\r\nimport { ISettlementProposal, ISettlementProposalQueryParams } from '../gen/ApiClients';\r\nimport { nameof } from '../infrastructure/Utils';\r\nimport { SettlementProposalQueryParamsContext } from './SettlementProposalsQueryParamsContext';\r\nimport React from 'react';\r\n\r\nconst DefaultParams: ISettlementProposalQueryParams = {\r\n\tpageIndex: 1,\r\n\tpageSize: 10,\r\n\tsortDirection: 'descending',\r\n\tsortProperty: nameof('postingDate'),\r\n};\r\n\r\nexport const SettlementProposalQueryParamsProvider = ({ children }: any) => {\r\n\tconst [params, setParams] = useState(DefaultParams);\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{children}\r\n\t\t\r\n\t);\r\n};\r\n","import moment from 'moment';\r\nimport React, { useState } from 'react';\r\nimport { IRevenuesQueryParams } from '../gen/ApiClients';\r\nimport { RevenuesQueryParamsContext } from './RevenuesQueryParamsContext';\r\n\r\nconst DefaultParams: IRevenuesQueryParams = {\r\n\tafterDate: moment(new Date()).startOf('month').toDate(),\r\n\tbeforeDate: moment(new Date()).endOf('month').toDate(),\r\n};\r\n\r\nexport const RevenuesQueryParamsProvider = ({ children }: any) => {\r\n\tconst [params, setParams] = useState(DefaultParams);\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{children}\r\n\t\t\r\n\t);\r\n};\r\n","import React, { useState } from 'react';\r\nimport { ILeaveOfAbsencesQueryParams } from '../gen/ApiClients';\r\nimport moment from 'moment';\r\nimport { LeaveOfAbsencesQueryParamsContext } from './LeaveOfAbsencesQueryParamsContext';\r\n\r\nconst DefaultParams: ILeaveOfAbsencesQueryParams = {\r\n\tafterDate: moment(new Date()).startOf('month').toDate(),\r\n\tbeforeDate: moment(new Date()).endOf('month').toDate(),\r\n};\r\n\r\nexport const LeaveOfAbsencesQueryParamsProvider = ({ children }: any) => {\r\n\tconst [params, setParams] = useState(DefaultParams);\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{children}\r\n\t\t\r\n\t);\r\n};\r\n","import React, { useContext, useState } from 'react';\r\nimport { useLocalizationContext } from '../hooks/useLocalizationContext';\r\nimport { AuthContext } from '../context/AuthContext';\r\nimport { NotificationsProvider } from '../context/NotificationsContext';\r\nimport { WrapperSearchProvider } from '../context/WrapperSearchTextContext';\r\nimport { Logo } from './common/Logo';\r\nimport { NavLink, Switch, Redirect } from 'react-router-dom';\r\nimport { WrapperSearchbox } from './WrapperSearchbox';\r\nimport { NotificationsDropdown } from './NotificationsDropdown';\r\nimport { ProtectedRoute } from '../infrastructure/ProtectedRoute';\r\nimport { Dashboard } from './dashboard/Dashboard';\r\nimport { Revenues } from './revenues/Revenues';\r\nimport { FilterDataProvider } from '../context/FilterDataContext';\r\nimport { ModalProvider } from '../context/ModalContext';\r\nimport { LeaveOfAbsences } from './leaveOfAbsences/LeaveOfAbsences';\r\nimport { NotificationsQueryParamsProvider } from '../context/NotificationsQueryParamsContext';\r\nimport { Notifications } from './notifications/Notifications';\r\nimport { Revenue } from './revenues/Revenue';\r\nimport { FullScreenLoader } from './common/loaders/FullScreenLoader';\r\nimport { WrapperFullScreenLoadContext, WrapperFullScreenLoadProvider } from '../context/WrapperFullScreenLoadContext';\r\nimport { FormsQueryParamsProvider } from '../context/FormsQueryParamsContext';\r\nimport { Forms } from './forms/Forms';\r\nimport { Divider, Responsive } from 'semantic-ui-react';\r\nimport HamburgerMenu from 'react-hamburger-menu';\r\nimport { MobileNotifications } from './MobileNotifications';\r\nimport { MobileFooter } from './mobileFooter/MobileFooter';\r\nimport { SettlementProposals } from './settlementProposals/SettlementProposals';\r\nimport { Settings } from './settings/Settings';\r\nimport * as routes from '../routes';\r\nimport './Wrapper.scss';\r\nimport { SettlementProposalQueryParamsProvider } from '../context/SettlementProposalsQueryParamsProvider';\r\nimport { RevenuesQueryParamsProvider } from '../context/RevenuesQueryParamsProvider';\r\nimport { LeaveOfAbsencesQueryParamsProvider } from '../context/LeaveOfAbsencesQueryParamsProvider';\r\nimport { LocalizationContext } from '../context/LocalizationContext';\r\n\r\nexport const Wrapper = () => {\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nconst InnerObject = () => {\r\n\tconst [isMenuOpen, setIsMenuOpen] = useState(false);\r\n\tconst loaderContext = useContext(WrapperFullScreenLoadContext);\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t setIsMenuOpen(!isMenuOpen)}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t
\r\n\t\t\t\t\t{isMenuOpen ? (\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t setIsMenuOpen(false)} />\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t) : (\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t{loaderContext.isLoading ? : null}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t)}\r\n\t\t\t\t\t{isMenuOpen ? null : (\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t)}\r\n\t\t\t\t
\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{loaderContext.isLoading ? : null}\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n};\r\n\r\nconst BodyContent = () => {\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nconst SideNav = () => {\r\n\tconst locContext = useLocalizationContext();\r\n\tconst localization = useContext(LocalizationContext);\r\n\tconst authContext = useContext(AuthContext);\r\n\tconst lang = localization.getLanguage().toUpperCase();\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{locContext.dashboard}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{locContext.revenues}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{locContext.leaveOfAbsence}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{locContext.forms}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{locContext.notifications}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{locContext.settlementProposals}\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t
{authContext.user ? authContext.user.companyName : ''}
\r\n\t\t\t\t\r\n\t\t\t\t\t{locContext.settings}\r\n\t\t\t\t\r\n\t\t\t\t{/* eslint-disable-next-line */}\r\n\t\t\t\t authContext.logout()}>\r\n\t\t\t\t\t{locContext.logOut}\r\n\t\t\t\t\r\n\r\n\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{locContext.tc}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{locContext.coc}\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n};\r\n\r\ninterface ILowerNavLinksProps {\r\n\tclicked?: () => void;\r\n}\r\nconst LowerNavLinks = ({ clicked }: ILowerNavLinksProps) => {\r\n\tconst authContext = useContext(AuthContext);\r\n\tconst locContext = useLocalizationContext();\r\n\tconst localization = useContext(LocalizationContext);\r\n\tconst lang = localization.getLanguage().toUpperCase();\r\n\treturn (\r\n\t\t
\r\n\t\t\t
{authContext.user ? authContext.user.companyName : ''}
\r\n\t\t\t {\r\n\t\t\t\t\tif (clicked) {\r\n\t\t\t\t\t\tclicked();\r\n\t\t\t\t\t}\r\n\t\t\t\t}}>\r\n\t\t\t\t{locContext.settings}\r\n\t\t\t\r\n\t\t\t{/* eslint-disable-next-line */}\r\n\t\t\t {\r\n\t\t\t\t\tauthContext.logout();\r\n\t\t\t\t\tif (clicked) {\r\n\t\t\t\t\t\tclicked();\r\n\t\t\t\t\t}\r\n\t\t\t\t}}>\r\n\t\t\t\t{locContext.logOut}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t{locContext.tc}\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{locContext.coc}\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n};\r\n\r\nconst DesktopHeader = () => {\r\n\tconst authContext = useContext(AuthContext);\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t
{authContext.user ? authContext.user.name : ''}
\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n};\r\n\r\ninterface IMobileHeaderProps {\r\n\tisMenuOpen: boolean;\r\n\ttoggle: () => void;\r\n}\r\nconst MobileHeader = ({ isMenuOpen, toggle }: IMobileHeaderProps) => {\r\n\tconst authContext = useContext(AuthContext);\r\n\tconst localization = useContext(LocalizationContext);\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t toggle()}\r\n\t\t\t\t\t\tcolor='black'\r\n\t\t\t\t\t\twidth={18}\r\n\t\t\t\t\t\theight={15}\r\n\t\t\t\t\t/>\r\n\t\t\t\t
\r\n\t\t\t\t
{authContext.user ? authContext.user.name : ''}
\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n};\r\n","import React from 'react';\r\nimport './ForgotPassword.scss';\r\nimport { useLocalizationContext } from '../../hooks/useLocalizationContext';\r\nimport { Responsive } from 'semantic-ui-react';\r\nimport { Logo } from '../common/Logo';\r\nimport { TextLinkButton } from '../common/buttons/TextLinkButton';\r\nimport { Link } from 'react-router-dom';\r\nimport * as routes from '../../routes';\r\n\r\nexport const ForgotPassword = () => {\r\n const locContext = useLocalizationContext();\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n {locContext.backToLogin}\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n {locContext.loginWelcomeTitle}\r\n {locContext.forgotPassword}\r\n
{locContext.forgotPasswordContent}
\r\n \r\n
\r\n \r\n {locContext.backToLogin}\r\n \r\n
\r\n
\r\n
\r\n
\r\n );\r\n}","import { library } from \"@fortawesome/fontawesome-svg-core\";\r\nimport { useContext } from \"react\";\r\nimport { Redirect, Route, Switch } from \"react-router-dom\";\r\nimport { Login } from \"./components/login/Login\";\r\nimport { AuthContext, AuthProvider } from \"./context/AuthContext\";\r\nimport { BrowserRouterProvider } from \"./context/RouterContext\";\r\nimport { ProtectedRoute } from \"./infrastructure/ProtectedRoute\";\r\n// library stuff for font-awesome\r\nimport {\r\n faComments,\r\n faEdit,\r\n faEye,\r\n faEyeSlash,\r\n faFileAlt,\r\n faSquare,\r\n faStar as faStarRegular,\r\n} from \"@fortawesome/free-regular-svg-icons\";\r\nimport {\r\n faArrowLeft,\r\n faArrowRight,\r\n faCalendar,\r\n faCarSide,\r\n faCheck,\r\n faCheckCircle,\r\n faCheckSquare,\r\n faChevronDown,\r\n faChevronLeft,\r\n faChevronRight,\r\n faChevronUp,\r\n faEllipsisV,\r\n faExclamationTriangle,\r\n faFileSignature,\r\n faIndustry,\r\n faInfo,\r\n faInfoCircle,\r\n faLongArrowAltDown,\r\n faLongArrowAltUp,\r\n faPlus,\r\n faReceipt,\r\n faSearch,\r\n faStar,\r\n faTimes,\r\n faTrash,\r\n faUsers,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport { Slide, ToastContainer, toast } from \"react-toastify\";\r\nimport \"react-toastify/dist/ReactToastify.css\";\r\nimport \"./App.scss\";\r\nimport { AppUpdateWall } from \"./components/AppUpdateWall\";\r\nimport { Wrapper } from \"./components/Wrapper\";\r\nimport { ForgotPassword } from \"./components/login/ForgotPassword\";\r\nimport { LocalizationProvider } from \"./context/LocalizationContext\";\r\nimport * as fromRoutes from \"./routes\";\r\nimport React from \"react\";\r\n\r\nlibrary.add(\r\n faEye,\r\n faEyeSlash,\r\n faSearch,\r\n faStar,\r\n faStarRegular,\r\n faChevronUp,\r\n faChevronDown,\r\n faEdit,\r\n faEllipsisV,\r\n faUsers,\r\n faCheckSquare,\r\n faSquare,\r\n faCheck,\r\n faCalendar,\r\n faInfo,\r\n faCarSide,\r\n faTimes,\r\n faInfoCircle,\r\n faIndustry,\r\n faPlus,\r\n faCheckCircle,\r\n faExclamationTriangle,\r\n faReceipt,\r\n faChevronLeft,\r\n faChevronRight,\r\n faComments,\r\n faFileSignature,\r\n faArrowLeft,\r\n faTrash,\r\n faLongArrowAltUp,\r\n faLongArrowAltDown,\r\n faFileAlt,\r\n faArrowRight\r\n);\r\n\r\nexport function App() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nconst InnerObject = () => {\r\n const authContext = useContext(AuthContext);\r\n return (\r\n \r\n \r\n \r\n {authContext.hasToken ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n );\r\n};\r\n","import React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport './index.scss';\r\nimport * as serviceWorker from './serviceWorker';\r\nimport { App } from './App';\r\n\r\nReactDOM.render(\r\n ,\r\n document.getElementById('root'));\r\n\r\n// If you want your app to work offline and load faster, you can change\r\n// unregister() to register() below. Note this comes with some pitfalls.\r\n// Learn more about service workers: http://bit.ly/CRA-PWA\r\nserviceWorker.unregister();\r\n","module.exports = \"data:image/png;base64,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\"","module.exports = __webpack_public_path__ + \"static/media/logo.f953c259.jpg\";","module.exports = __webpack_public_path__ + \"static/media/loader.2462cc74.gif\";"],"sourceRoot":""}