{"version":3,"sources":["components/shared/footer/Footer.module.css","components/administration/components/userImportPanel/UserImportPanel.module.css","components/administration/components/userProductImportPanel/UserProductImportPanel.module.css","components/register/Register.module.css","App.module.css","components/confirmMail/ConfirmMail.module.css","components/setNewPassword/SetNewPassword.module.css","components/home/Home.module.css","components/myDownloads/components/filterPanel/FilterPanel.module.css","components/administration/components/userEditCreatePanel/UserEditCreatePanel.module.css","components/administration/components/userProductPanel/UserProductPanel.module.css","components/administration/components/userSubscriptionsPanel/UserSubscriptionsPanel.module.css","components/shared/fullscreenLoading/FullscreenLoading.module.css","components/shared/header/Header.module.css","components/shared/navBar/NavBar.module.css","components/changePassword/ChangePassword.module.css","components/myProfile/MyProfile.module.css","components/mySubscriptions/MySubscriptions.module.css","components/passwordReset/PasswordReset.module.css","components/administration/Administration.module.css","components/termsOfUse/TermsOfUse.module.css","components/shared/globalLoadingIndicator/GlobalLoadingIndicator.module.css","components/administration/components/userDeleteDialog/UserDeleteDialog.module.css","components/notFound/NotFound.module.css","components/imprint/Imprint.module.css","components/dataProtection/DataProtection.module.css","components/myDownloads/MyDownloads.module.css","localization/InitLocalization.ts","theming/MainTheme.ts","components/shared/fullscreenLoading/FullscreenLoading.tsx","localization/TranslatedComponent.tsx","components/shared/header/Header.tsx","components/shared/navBar/components/NavBarButton.tsx","util/IsDevMode.ts","services/eventBus/EventBusEvent.ts","dto/UserData.ts","dto/auth/loggedInUserCheckResult.ts","services/eventBus/EventBus.service.ts","services/logging/ConsoleLogger.ts","services/logging/AppInsightsLogger.ts","services/logging/LogManager.service.ts","util/MockLoadingTime.ts","services/auth/MockAuth.service.ts","services/trackedHttpClient/TrackedHttpClient.service.ts","services/auth/WebAuth.service.ts","services/auth/AuthFactory.service.ts","components/shared/navBar/dto/NavBarState.ts","components/shared/navBar/NavBar.tsx","components/shared/pageViewTracker/PageViewTracker.tsx","components/shared/globalLoadingIndicator/dto/GlobalLoadingIndicatorState.ts","components/shared/globalLoadingIndicator/GlobalLoadingIndicator.tsx","components/shared/footer/Footer.tsx","components/login/dto/LoginState.ts","components/login/Login.tsx","dto/account/UserData.ts","components/shared/userDataForm/dto/UserDataFormState.ts","util/IsValidEmail.ts","components/shared/userDataForm/UserDataForm.tsx","dto/account/RegisterRequest.ts","components/register/dto/RegisterState.ts","dto/account/CurrentUserDataResponse.ts","services/account/MockAccount.service.ts","services/account/WebAccount.service.ts","services/account/AccountFactory.service.ts","util/ScrollToTop.ts","components/register/Register.tsx","components/confirmMail/dto/ConfirmMailState.ts","components/confirmMail/ConfirmMail.tsx","dto/account/SetNewPasswordRequest.ts","components/setNewPassword/dto/SetNewPasswordState.ts","util/GetUrlParameter.ts","components/setNewPassword/SetNewPassword.tsx","dto/account/ChangePasswordRequest.ts","components/changePassword/dto/ChangePasswordState.ts","components/changePassword/ChangePassword.tsx","dto/account/UpdateUserDataRequest.ts","components/myProfile/dto/MyProfileState.ts","components/myProfile/MyProfile.tsx","dto/subscriptions/UserSubscription.ts","services/subscriptions/MockSubscriptions.service.ts","services/subscriptions/WebSubscriptions.service.ts","services/subscriptions/SubscriptionsFactory.service.ts","dto/subscriptions/SubscriptionConnectRequest.ts","components/mySubscriptions/dto/MySubscriptionsState.ts","components/mySubscriptions/MySubscriptions.tsx","dto/account/ResetPasswordRequest.ts","components/passwordReset/dto/PasswordResetState.ts","components/passwordReset/PasswordReset.tsx","dto/documentAccess/DocumentEntry.ts","dto/documentAccess/DocumentDetailEntry.ts","services/documentAccess/MockDocumentAccess.service.ts","services/documentAccess/WebDocumentAccess.service.ts","services/documentAccess/DocumentAccessFactory.service.ts","components/home/dto/HomeState.ts","components/home/Home.tsx","util/Debounce.ts","dto/myDownloads/MyDownloadsFilterEntryType.ts","dto/myDownloads/MyDownloadsQueryResult.ts","dto/myDownloads/MyDownloadsFilterConfig.ts","dto/myDownloads/MyDownloadsEntry.ts","dto/myDownloads/MyDownloadsFilterEntry.ts","services/myDownloads/MockMyDownloads.service.ts","services/myDownloads/WebMyDownloads.service.ts","util/FixEnum.ts","services/myDownloads/MyDownloadsFactory.service.ts","dto/myDownloadsFilter/MyDownloadsFilter.ts","components/myDownloads/components/filterPanel/dto/FilterPanelState.ts","components/myDownloads/components/filterPanel/dto/AvailableFilterFormat.ts","components/myDownloads/components/filterPanel/FilterPanel.tsx","components/myDownloads/components/documentEntryInfoSidePanel/dto/DocumentEntryInfoSidePanelState.ts","util/FormatDate.ts","components/myDownloads/components/documentEntryInfoSidePanel/DocumentEntryInfoSidePanel.tsx","components/myDownloads/dto/MyDownloadsState.ts","components/myDownloads/MyDownloads.tsx","dto/admin/UserQueryResult.ts","dto/admin/UserEntry.ts","dto/admin/AvailableUserProduct.ts","dto/admin/UserProduct.ts","services/admin/MockAdmin.service.ts","services/admin/WebAdmin.service.ts","services/admin/AdminFactory.service.ts","dto/admin/UserCreateEditRequest.ts","components/administration/components/userEditCreatePanel/dto/UserEditCreatePanelState.ts","components/administration/components/userEditCreatePanel/UserEditCreatePanel.tsx","components/administration/components/userProductPanel/dto/UserProductPanelState.ts","components/administration/components/userProductPanel/UserProductPanel.tsx","util/BuildDatePickerStrings.ts","components/administration/components/userSubscriptionsPanel/dto/UserSubscriptionsPanelState.ts","dto/admin/AddUserSubscriptionRequest.ts","components/administration/components/userSubscriptionsPanel/UserSubscriptionsPanel.tsx","components/administration/components/userImportPanel/dto/UserImportPanelState.ts","components/administration/components/userImportPanel/dto/UserImportLogEntry.ts","components/administration/components/userImportPanel/UserImportPanel.tsx","components/administration/components/userProductImportPanel/dto/UserProductImportPanelState.ts","components/administration/components/userProductImportPanel/dto/GroupedUserProductData.ts","components/administration/components/userProductImportPanel/dto/UserProductImportLogEntry.ts","components/administration/components/userProductImportPanel/UserProductImportPanel.tsx","components/administration/components/userDeleteDialog/dto/UserDeleteDialogState.ts","components/administration/components/userDeleteDialog/UserDeleteDialog.tsx","components/administration/dto/AdministrationState.ts","components/administration/Administration.tsx","components/notFound/NotFound.tsx","components/imprint/Imprint.tsx","components/termsOfUse/TermsOfUse.tsx","util/UncryptMailTo.ts","components/dataProtection/DataProtection.tsx","dto/AppState.ts","App.tsx","serviceWorker.ts","index.tsx","components/login/Login.module.css","components/myDownloads/components/documentEntryInfoSidePanel/DocumentEntryInfoSidePanel.module.css"],"names":["module","exports","initLocalization","i18n","use","Backend","LanguageDetector","initReactI18next","init","lng","backend","loadPath","fallbackLng","debug","ns","defaultNS","keySeparator","interpolation","escapeValue","formatSeparator","react","wait","mainTheme","createTheme","palette","themePrimary","themeLighterAlt","themeLighter","themeLight","themeTertiary","themeSecondary","themeDarkAlt","themeDark","themeDarker","neutralLighterAlt","neutralLighter","neutralLight","neutralQuaternaryAlt","neutralQuaternary","neutralTertiaryAlt","neutralTertiary","neutralSecondary","neutralPrimaryAlt","neutralPrimary","neutralDark","black","white","FullScreenLoading","className","styles","fullscreenLoadingContainer","ColorClassNames","whiteBackground","role","fullscreenLoadingSpinnerContainer","Spinner","size","SpinnerSize","large","React","Component","TranslatedComponent","t","renderWithTranslation","Header","headerContainer","redhead","alt","src","NavBarButton","props","routerHistory","useHistory","CommandBarButton","onClick","push","data","target","isDevMode","EventBusEvent","window","location","href","includes","UserData","isAuthenticated","isIpAuthenticated","isAdmin","displayName","this","LoggedInUserCheckResult","user","tooManyLogins","EventBusService","eventCallbacks","event","context","callback","eventCallBack","eventCallback","callbackContext","curCallback","length","splice","args","call","instance","ConsoleLogger","pageViewStart","currentPage","console","log","pageName","viewTime","Date","getTime","trackId","url","success","responseCode","method","duration","AppInsightsLogger","appInsights","configObject","Config","InstrumentationKey","ApplicationInsights","config","instrumentationKey","disableAjaxTracking","stopTrackPage","startTrackPage","startsWith","origin","trackDependencyData","id","type","LogManagerService","loggers","buildLoggers","trackRequest","mockLoadingTime","Promise","resolve","reject","start","EventBus","getInstance","dispatch","OnLoadStarted","setTimeout","OnLoadFinished","Math","random","MockAuthService","username","password","userData","indexOf","result","TrackedHttpClient","additionalOptions","sendTrackedRequest","httpOptions","axios","get","body","post","put","delete","requestFunc","requestUrl","startTime","now","batchUrl","toLowerCase","getRequests","returnPromise","referenceId","Guid","create","toString","createHeaders","then","headers","response","status","catch","err","statusCode","requestCsrfToken","csrfToken","runningCsrfRequest","token","WebAuthService","windowCheckObj","CurrentUser","name","hasTooManyLogins","AuthFactoryService","NavBarState","showSignOutErrorMessage","NavBar","_theme","getTheme","_menuStyles","root","backgroundColor","paddingLeft","paddingRight","hideSignOutError","setState","getItems","key","text","buttonStyles","rootHovered","borderBottomColor","borderBottomWidth","borderBottomStyle","fontSize","FontSizes","mediumPlus","iconProps","medium","iconName","getFarItems","currentUser","userItems","itemType","ContextualMenuItemType","Divider","signOut","subMenuProps","items","a","getAuthService","onUserSignedOut","state","mainNavBar","neutralLightBackground","CommandBar","buttonAs","overflowButtonAs","farItems","ariaLabel","renderSignOutErrorBar","signOutErrorBar","MessageBar","messageBarType","MessageBarType","error","isMultiline","onDismiss","dismissButtonAriaLabel","PageViewTracker","useLocation","pathname","useEffect","GlobalLoadingIndicatorState","loadingRefCount","GlobalLoadingIndicator","incLoadingRefCount","changeLoadingRefCount","decLoadingRefCount","refChange","newRefCount","on","off","loadingBarContainer","ProgressIndicator","itemProgress","padding","Footer","mainFooterContainer","links","FontClassNames","small","linkEntry","to","LoginState","showErrorMessage","authErrorOccured","authErrorMessage","isLoading","Login","removeAuthErrorBanner","getErrorMessage","value","onUsernameChange","newValue","onPasswordChange","toHome","loginOnEnter","e","onLogin","AuthServiceFactory","login","onUserLoggedIn","redirectTarget","from","loginContainer","height100","dir","cover","renderLoggedInUserRedirect","xLargePlus","style","fontWeight","FontWeights","light","logo","renderAuthErrorOccured","Text","TextField","onKeyDown","onChange","errorMessage","label","right","DefaultButton","PrimaryButton","disabled","loginButtonSpinner","xSmall","linkContainer","textAlign","Icon","redirectLink","email","salutation","firstname","lastname","companyName","companyStreet","companyPostalCode","companyCity","companyCountry","maxSessionCount","ipAddress","UserDataFormState","repeatPassword","isValidEmail","mail","test","UserDataForm","emptyIpAddress","getMandatoryErrorMessage","val","onUserFieldChanged","setValueCallback","assignFromUserData","onUserDataChanged","setPasswordRepeat","ev","validate","hideLoginFields","existingUserData","hideIpAuthFields","validateIp","prevProps","newUserData","options","Dropdown","placeholder","required","selectedKey","getSalutationSelectedKey","_ev","r","v","getEmailErrorMessage","description","undefined","getPasswordRepeatErrorMessage","hideUsername","xLarge","hideMiscFields","isNaN","parseInt","getIpErrorMessage","ip","ipAddresses","split","ipValueParts","ipAddressSplitted","curIpAddressPart","ipPart","option","find","o","RegisterRequest","captchaToken","clonedObj","RegisterState","registerRequest","captchaKey","requestErrorMessage","accountWasCreated","CurrentUserDataResponse","MockAccountService","resetRequest","setNewPasswordRequest","changePasswordRequest","userResponse","updateUserDataRequest","WebAccountService","AccountFactory","scrollToTop","scrollTo","Register","recaptchaRef","userDataFormRef","renderRegisterForm","renderRequestErrorOccured","ref","captchaContainer","sitekey","onCaptchaValidated","onExpired","resetCaptcha","onErrored","hl","Label","redDark","smallPlus","register","registerButtonSpinner","removeRequestErrorBanner","renderRegisterSuccess","redirectToLoginLink","clone","u","getAccountService","message","reset","CaptchaKey","registerContainer","ConfirmMailState","couldConfirmMail","ConfirmMail","renderSuccessMessage","renderFailMessage","AdditionalConfig","CouldConfirmMail","confirmMailContainer","SetNewPasswordRequest","userId","code","SetNewPasswordState","repeatNewPassword","setNewPasswordError","couldSetNewPassword","getUrlParameter","parameterName","URL","searchParams","SetNewPassword","renderSetNewPasswordForm","getNewPasswordErrorMessage","setNewPassword","getRepeatNewPasswordErrorMessage","setRepeatNewPassword","onSetNewPassword","setNewPasswordButtonSpinner","newPasswordRequest","setNewPasswordContainer","ChangePasswordRequest","oldPassword","newPassword","ChangePasswordState","changePasswordError","passwordWasChanged","ChangePassword","renderUnauthorizedRedirect","renderSuccessBanner","removeSuccessBanner","getMandatoryFieldError","setOldPassword","onChangePassword","changePassword","changePasswordContainer","changePasswordButtonSpinner","UpdateUserDataRequest","userDataRequest","MyProfileState","loadErrorOccured","requestErrorOccured","dataWasChanged","MyProfile","onChangeData","updateUserData","getCurrentUserData","currentUserData","myProfileContainer","myProfileButtonSpinner","UserSubscription","subscriptionNumber","productName","isActive","MockSubscriptionsService","subscriptionConnectRequest","subscription","subscriptions","curSubscription","WebSubscriptionsService","SubscriptionsFactoryService","SubscriptionConnectRequest","MySubscriptionsState","currentUserSubscriptions","isSaving","subscriptionWasConnected","subscriptionConnectErrorOccured","subscriptionNumberInUse","MySubscriptions","renderCouldNotConnectBanner","removeCouldNotConnectBanner","renderCouldNotLoadBanner","renderAddSubscriptionSection","marginBottom","Stack","horizontal","wrap","tokens","childrenGap","Item","readOnly","getSubscriptionNumberError","onSubscriptionNumberToConnectChanged","onAddSubscription","mySubscriptionsButtonSpinner","renderUserSubscriptions","map","s","getSubscriptionsService","connectSubscription","loadUserSubscriptions","isSubscriptionInUse","getMySubscriptions","subscriptionData","mySubscriptionsContainer","ResetPasswordRequest","PasswordResetState","requestWasSent","PasswordReset","renderResetPasswordForm","onEmailAddressChanged","onResetPassword","resetButtonSpinner","resetPassword","passwordResetContainer","DocumentEntry","title","edition","publicationDate","pageCount","tags","DocumentDetailEntry","subTitle","ean","isbn","author","editor","publisher","MockDocumentAccessService","entry","WebDocumentService","documentEntry","DocumentAccessFactory","HomeState","thumbnailName","Home","getDocumentAccessService","getLatestDocumentEntry","getFullYear","mainHomeContainer","center","verticalAlign","grow","display","thumbnail","variant","debounce","func","immediate","timeout","arguments","later","apply","callNow","clearTimeout","MyDownloadsFilterEntryType","MyDownloadsQueryResult","totalCount","entries","MyDownloadsFilterConfig","minYear","maxYear","filterEntries","MyDownloadsEntry","publicationYear","imageUrl","filename","isFavorited","entryType","searchHit","Magazin","MyDownloadsFilterEntry","productNumber","MockMyDownloadsService","page","pageSize","onlyFavorites","filter","queryResult","curResult","Book","searchQuery","entry2","entryvideo","Video","entrygeneric","Generic","filterEntryMagazin","filterEntryBook","filterEntryGeneric","filterConfig","downloadEntry","entryId","WebMyDownloadsService","downloadConfig","curEntry","enumType","encodeURIComponent","MyDownloadsFactoryService","MyDownloadsFilter","minDate","maxDate","formats","FilterPanelState","showYearFilter","availableFormats","errorOccured","AvailableFilterFormat","langKey","format","FilterPanel","_availableFormats","debouncedPropagateFilterToParent","renderLoadingSpinner","filterPanelLoadingSpinnerContainer","renderErrorDisplay","filterPanelErrorContainer","red","renderFilterPanel","yearFilters","curYear","onMinDateChanged","onMaxDateChanged","renderSelectableFormats","renderSelectableMagazins","date","selectedYear","updateFilter","onQueryChanged","newVal","propagateFilterToParent","onFilterChanged","f","getMyDownloadsService","getMyDownloadsConfig","favoritesOnly","getAvailableFormatFilters","magazinFilterEntries","availableFormatFilters","usedFormats","filterFormat","loadingSpinner","renderedFormats","Toggle","onText","offText","checked","toggleFormat","ff","renderedMagazins","m","Checkbox","toggleMagazin","fm","magazin","DocumentEntryInfoSidePanelState","ensureLengthOfTwo","formattedVal","formatDate","includeTime","replace","getDate","getMonth","getHours","getMinutes","getSeconds","DocumentEntryInfoSidePanel","renderDocumentEntryInfo","infoBlock","join","dangerouslySetInnerHTML","__html","sanitizeHtml","removeErrorBanner","downloadEntryToShow","getDocumentEntryDetails","Panel","isOpen","onClosePanel","closeButtonAriaLabel","headerText","onRenderFooter","renderPanelFooter","isFooterAtBottom","PanelType","isLightDismiss","renderErrorOccured","loadingContainer","footerContainer","MyDownloadsState","showFilterPanel","detailDownloadEntry","pageLoading","showViewLoadingSpinner","invalidProductNumberUrl","urlProductNumberPreview","errorLoadingProductByUrl","viewFile","viewVideo","viewFileZoom","displayingSearchResult","MyDownloads","_bookPrefix","onShowFilterPanel","onCloseFilterPanel","fileZoom","onHideViewLoadingSpinner","downloadFile","fileId","assign","onShowEntryInline","onShowDocumentEntryInfo","onCloseDocumentEntryInfoPanel","changeDisplayPage","direction","newPage","loadMyDownloads","getMyDownloads","myDownloads","some","toggleFavorite","wasFavorited","addFavorite","removeFavorite","getProductNumberFromUrl","fromUrlPreview","parsedUrl","c","productNumberPreview","getDownloadByProductNumber","productData","myDownloadsContainer","renderAnonymouseUserRedirect","renderNotFoundRedirectOnInvalidUrl","renderMainContent","zoomFile","paddingTop","spinnerContainer","cursor","onLoad","width","height","marginTop","onLoadStart","controls","urlPreviewLoadingIndicatorContainer","xxLargePlus","resize","IconButton","filterButton","renderDownloadList","pageButton","hideStyle","hideFilterPanelInSmall","filterContainer","shadow","filterCloseButton","redirectUrl","substr","renderDownloadCard","siteTextStyles","color","semibold","descriptionTextStyles","searchPreviewTextStyles","iconStyles","regular","Card","maxWidth","searchResultCard","aria-label","childrenMargin","fill","Image","outerVideo","themePrimaryBackground","innerVideo","Section","searchResultContent","alignSelf","borderLeft","UserQueryResult","UserEntry","userName","sessionCount","ipAuth","AvailableUserProduct","UserProduct","productId","startDate","endDate","end","setHours","setMinutes","MockAdminService","userEntry","createRequest","editRequest","products","curProduct","product","padStart","setDate","subscriptionRequest","subscriptionId","WebAdminService","AdminFactoryService","UserCreateEditRequest","usernameOverwrite","UserEditCreatePanelState","createEditRequest","UserEditCreatePanel","userDataForm","onSaveUser","userToEdit","getAdminService","updateUser","createUser","onSaveSuccess","showPanel","getUserById","buttonMargin","saveButtonSpinner","UserProductPanelState","availableProducts","userProducts","selectedProductKey","selectedStartDate","selectedEndDate","UserProductPanel","renderAddProductErrorMessage","getUserProducts","sort","up1","up2","startDiff","endDiff","localeCompare","getUserColumns","fieldName","minWidth","isResizable","onRender","renderNameColumn","renderEditColumn","getUserRowKey","item","index","userProduct","icon","onDeleteUserProduct","newUserProducts","onSelectUserProduct","selectedOption","onSelectStartDate","onSelectEndDate","onAddUserProduct","ap","onSaveUserProducts","saveUserAdminProducts","getAvailableUserProducts","userAdminProductsPromise","getUserAdminProducts","all","datePickerStrings","months","shortMonths","days","shortDays","goToToday","prevMonthAriaLabel","nextMonthAriaLabel","prevYearAriaLabel","nextYearAriaLabel","buildDatePickerStrings","disableShrink","ComboBox","autoComplete","allowFreeform","getSelectableProducts","optionsContainerWrapper","maxHeight","DatePicker","strings","firstDayOfWeek","DayOfWeek","Monday","d","onSelectDate","ShimmeredDetailsList","columns","enableShimmer","selectionMode","SelectionMode","none","getKey","p","UserSubscriptionsPanelState","userSubscriptions","subscriptionNumberToAdd","subscriptionToDelete","AddUserSubscriptionRequest","UserSubscriptionsPanel","getUserSubscriptions","getSubscriptionsNumberErrorMessage","renderConfirmDeleteDialog","deleteContent","dialogContentProps","DialogType","normal","Dialog","hidden","onCloseConfirmDialog","modalProps","isBlocking","DialogFooter","onRunDeleteSubscription","renderStatusColumn","userSubscription","statusDisplayname","onDeleteUserSubscription","onSubscriptionNumberToAddChange","deleteUserSubscription","onSaveUserSubscription","addUserSubscription","UserImportPanelState","isImportRunning","showImportLog","importProgress","importLog","UserImportLogEntry","userMail","wasCreate","createTime","UserImportPanel","preUserImportProgress","importFileInput","onImportUser","files","readFileContent","fileContent","parsedFile","papaparse","parse","header","setImportProgress","getUsers","allExistingUsers","importUsers","accept","renderImportProgress","il","colorClassName","textKey","activityItem","activityDescription","activityIcon","timeStamp","ActivityItem","userImportLogEntry","percentComplete","reversed","userImportLog","validUserSalutations","userLookup","curUser","curProgress","progressPerUser","curUserIndex","EMail","userCreateEditRequest","Passwort","Anrede","Vorname","Nachname","FirmenName","FirmenStrasse","FirmenPostleitzahl","FirmenStadt","FirmenLand","IPLogin","AlterBenutzername","userLogEntry","progress","unshift","file","reader","FileReader","readAsText","onload","evt","onerror","UserProductImportPanelState","GroupedUserProductData","UserMail","Products","UserProductImportLogEntry","allAvailableUserProducts","importUserProducts","userProductData","groupedUserData","groupUserData","curUserLogIndex","curUserProduct","anyValidProduct","anyChange","currentUserProducts","Start","ProduktNummer","Ende","productToAdd","findProductToAdd","areDatesEqual","uiResponsiveSleep","exactMatch","endsWith","d1","d2","groupedData","curUserData","BenutzerEMail","targetGroup","g","UserDeleteDialogState","UserDeleteDialog","onRemoveErrorBanner","onDeleteUser","userToDelete","deleteUser","onDeleteSuccess","onCloseDialog","content","AdministrationState","userQueryResult","showUserEditCreatePanel","userToManageProducts","userToManageSubscriptions","showImportPanel","showProductImportPanel","userPage","userSearchQuery","loadingUserData","Administration","userPageSize","_loadUserDataDebounced","onDownloadStatistics","removeUserErrorBanner","onUserSearchQueryChange","renderEmailColumn","openUserEdit","openManageProductPanel","openManageSubscriptionsPanel","downloadUserStatistics","onCreateUser","onCloseUserEditCreatePanel","onUserEditCreateSuccess","loadUserData","onCloseProductPanel","onCloseSubscriptionsPanel","onImportSuccess","onCloseImportPanel","onImportUserProducts","onCloseImportUserProducts","onExportUsers","onDeleteUserSuccess","changeUserDisplayPage","onCloseDeleteUser","administrationContainer","renderUserErrorOccured","UserProductImportPanel","NotFound","notFoundContainer","Imprint","imprintContainer","Link","TermsOfUse","termsOfUseContainer","termsOfUseList","UncryptMailTo","n","i","charCodeAt","String","fromCharCode","DataProtection","dataProtectionContainer","AppState","initializeIcons","loadTheme","MainTheme","App","renderTooManyLoginsBanner","tooManyLoginsBanner","warning","dismissToManyLoginsBanner","resetCurrentUser","signOutUser","initializeLoggers","loginResult","checkLoggedInUser","fallback","bodyContent","verticalFill","minHeight","mainContent","exact","path","Boolean","hostname","match","ReactDOM","render","StrictMode","document","getElementById","navigator","serviceWorker","ready","registration","unregister"],"mappings":"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","file":"static/js/main.f73fd45c.chunk.js","sourcesContent":["// extracted by mini-css-extract-plugin\nmodule.exports = {\"mainFooterContainer\":\"Footer_mainFooterContainer__1eN6Q\",\"links\":\"Footer_links__CCzWI\",\"linkEntry\":\"Footer_linkEntry__c6oOC\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"userImportLog\":\"UserImportPanel_userImportLog__10ZTq\",\"userImportLogEntry\":\"UserImportPanel_userImportLogEntry__349ht\",\"footerContainer\":\"UserImportPanel_footerContainer__1qSZd\",\"buttonMargin\":\"UserImportPanel_buttonMargin__1bNno\",\"saveButtonSpinner\":\"UserImportPanel_saveButtonSpinner__3g8A8\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"userImportLog\":\"UserProductImportPanel_userImportLog__1zTSd\",\"userImportLogEntry\":\"UserProductImportPanel_userImportLogEntry__3JbdY\",\"footerContainer\":\"UserProductImportPanel_footerContainer__2UPoH\",\"buttonMargin\":\"UserProductImportPanel_buttonMargin__2_-dv\",\"saveButtonSpinner\":\"UserProductImportPanel_saveButtonSpinner__twGrF\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"registerContainer\":\"Register_registerContainer__1h--Y\",\"captchaContainer\":\"Register_captchaContainer__3qgwK\",\"registerButtonSpinner\":\"Register_registerButtonSpinner__NT7Cr\",\"redirectToLoginLink\":\"Register_redirectToLoginLink__1tnhX\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"bodyContent\":\"App_bodyContent__3Dmq4\",\"ms-Stack-inner\":\"App_ms-Stack-inner__3OznK\",\"root\":\"App_root__2KmdL\",\"tooManyLoginsBanner\":\"App_tooManyLoginsBanner__3ZXyN\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"confirmMailContainer\":\"ConfirmMail_confirmMailContainer__3lqf4\",\"redirectLink\":\"ConfirmMail_redirectLink__1957H\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"setNewPasswordContainer\":\"SetNewPassword_setNewPasswordContainer__VIYQa\",\"setNewPasswordButtonSpinner\":\"SetNewPassword_setNewPasswordButtonSpinner__fzzgV\",\"redirectLink\":\"SetNewPassword_redirectLink__Hr6Oe\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"mainHomeContainer\":\"Home_mainHomeContainer__2HASB\",\"center\":\"Home_center__2Dzaq\",\"thumbnail\":\"Home_thumbnail__7E8S9\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"filterPanelLoadingSpinnerContainer\":\"FilterPanel_filterPanelLoadingSpinnerContainer__4tdKG\",\"filterPanelErrorContainer\":\"FilterPanel_filterPanelErrorContainer__1t5lI\",\"loadingSpinner\":\"FilterPanel_loadingSpinner__3EEhC\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"footerContainer\":\"UserEditCreatePanel_footerContainer__1mQAb\",\"buttonMargin\":\"UserEditCreatePanel_buttonMargin__2wxQP\",\"saveButtonSpinner\":\"UserEditCreatePanel_saveButtonSpinner__Gskd7\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"footerContainer\":\"UserProductPanel_footerContainer__3R2G-\",\"buttonMargin\":\"UserProductPanel_buttonMargin__2iMQs\",\"saveButtonSpinner\":\"UserProductPanel_saveButtonSpinner__1GuSy\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"footerContainer\":\"UserSubscriptionsPanel_footerContainer__24ljQ\",\"saveButtonSpinner\":\"UserSubscriptionsPanel_saveButtonSpinner__2TpvP\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"fullscreenLoadingContainer\":\"FullscreenLoading_fullscreenLoadingContainer__2cXN9\",\"fullscreenLoadingSpinnerContainer\":\"FullscreenLoading_fullscreenLoadingSpinnerContainer__2pOmZ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"headerContainer\":\"Header_headerContainer__G5m7J\",\"redhead\":\"Header_redhead__2FVxu\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"mainNavBar\":\"NavBar_mainNavBar__1ACAS\",\"menu\":\"NavBar_menu__2D0Um\",\"signOutErrorBar\":\"NavBar_signOutErrorBar__3HybS\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"changePasswordContainer\":\"ChangePassword_changePasswordContainer__2HwfK\",\"changePasswordButtonSpinner\":\"ChangePassword_changePasswordButtonSpinner__2rG6k\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"myProfileContainer\":\"MyProfile_myProfileContainer__3cqKv\",\"myProfileButtonSpinner\":\"MyProfile_myProfileButtonSpinner__2GTS8\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"mySubscriptionsContainer\":\"MySubscriptions_mySubscriptionsContainer__vuutu\",\"mySubscriptionsButtonSpinner\":\"MySubscriptions_mySubscriptionsButtonSpinner__1ys5C\",\"reddot\":\"MySubscriptions_reddot__3KBnx\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"passwordResetContainer\":\"PasswordReset_passwordResetContainer__EqgCA\",\"resetButtonSpinner\":\"PasswordReset_resetButtonSpinner__Nb8i7\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"administrationContainer\":\"Administration_administrationContainer__3DCmv\",\"pageButton\":\"Administration_pageButton__2e0yy\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"termsOfUseContainer\":\"TermsOfUse_termsOfUseContainer__3JU4D\",\"termsOfUseList\":\"TermsOfUse_termsOfUseList__e6RGJ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"loadingBarContainer\":\"GlobalLoadingIndicator_loadingBarContainer__3QLyU\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"saveButtonSpinner\":\"UserDeleteDialog_saveButtonSpinner__3gnI8\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"notFoundContainer\":\"NotFound_notFoundContainer__3vhlU\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"imprintContainer\":\"Imprint_imprintContainer__11LfL\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"dataProtectionContainer\":\"DataProtection_dataProtectionContainer__3DOmC\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"myDownloadsContainer\":\"MyDownloads_myDownloadsContainer__3gzFL\",\"shadow\":\"MyDownloads_shadow__2pL6e\",\"resize\":\"MyDownloads_resize__3wEjs\",\"zoomFile\":\"MyDownloads_zoomFile__Odwz8\",\"outerVideo\":\"MyDownloads_outerVideo__oiejN\",\"innerVideo\":\"MyDownloads_innerVideo__1IkK-\",\"pageButton\":\"MyDownloads_pageButton__3W09o\",\"spinnerContainer\":\"MyDownloads_spinnerContainer__1RKcp\",\"filterContainer\":\"MyDownloads_filterContainer__1iWC0\",\"filterButton\":\"MyDownloads_filterButton__2LvpW\",\"filterCloseButton\":\"MyDownloads_filterCloseButton__EhsDH\",\"urlPreviewLoadingIndicatorContainer\":\"MyDownloads_urlPreviewLoadingIndicatorContainer__3Obkv\",\"searchResultCard\":\"MyDownloads_searchResultCard__HA5N7\",\"searchResultContent\":\"MyDownloads_searchResultContent__3GR4L\",\"hideFilterPanelInSmall\":\"MyDownloads_hideFilterPanelInSmall__1vD_m\"};","import i18n from 'i18next';\r\nimport Backend from 'i18next-xhr-backend';\r\nimport LanguageDetector from 'i18next-browser-languagedetector';\r\nimport { initReactI18next } from 'react-i18next';\r\n\r\n/**\r\n * Initializes the localization\r\n */\r\nfunction initLocalization() {\r\n i18n\r\n .use(Backend)\r\n .use(LanguageDetector)\r\n .use(initReactI18next)\r\n .init({\r\n lng: 'de',\r\n backend: {\r\n loadPath: '/lang/{{ns}}/{{lng}}.json'\r\n },\r\n fallbackLng: 'de',\r\n debug: true,\r\n ns: ['translations'],\r\n defaultNS: 'translations',\r\n keySeparator: false,\r\n interpolation: {\r\n escapeValue: false,\r\n formatSeparator: ','\r\n },\r\n react: {\r\n wait: true\r\n }\r\n });\r\n}\r\n\r\nexport default initLocalization;","import { createTheme } from 'office-ui-fabric-react';\r\n\r\n// Created using https://fabricweb.z5.web.core.windows.net/pr-deploy-site/refs/heads/master/theming-designer/index.html\r\nconst mainTheme = createTheme({\r\n palette: {\r\n themePrimary: '#cd1717',\r\n themeLighterAlt: '#fdf4f4',\r\n themeLighter: '#f7d4d4',\r\n themeLight: '#f0b0b0',\r\n themeTertiary: '#e06969',\r\n themeSecondary: '#d22e2e',\r\n themeDarkAlt: '#b81414',\r\n themeDark: '#9b1111',\r\n themeDarker: '#720d0d',\r\n neutralLighterAlt: '#faf9f8',\r\n neutralLighter: '#f3f2f1',\r\n neutralLight: '#edebe9',\r\n neutralQuaternaryAlt: '#e1dfdd',\r\n neutralQuaternary: '#d0d0d0',\r\n neutralTertiaryAlt: '#c8c6c4',\r\n neutralTertiary: '#d4d4d4',\r\n neutralSecondary: '#a9a9a9',\r\n neutralPrimaryAlt: '#818181',\r\n neutralPrimary: '#707070',\r\n neutralDark: '#555555',\r\n black: '#3f3f3f',\r\n white: '#ffffff',\r\n }\r\n});\r\n\r\nexport default mainTheme;","// Libs\r\nimport React from 'react';\r\nimport { Spinner, SpinnerSize, ColorClassNames } from 'office-ui-fabric-react';\r\n\r\n// Components\r\nimport styles from './FullscreenLoading.module.css';\r\n\r\n/**\r\n * Fullscreen Loading Component\r\n */\r\nclass FullScreenLoading extends React.Component<{}, {}> {\r\n\r\n /**\r\n * Renders the component\r\n */\r\n public render() {\r\n return (\r\n
\r\n
\r\n \r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default FullScreenLoading;\r\n","import React, { ReactNode } from 'react';\r\n\r\n// Library\r\nimport { TFunction, i18n } from 'i18next';\r\nimport { Translation } from 'react-i18next';\r\n\r\n/**\r\n * Translated Base Component\r\n */\r\nabstract class TranslatedComponent extends React.Component {\r\n /**\r\n * Renders the component\r\n */\r\n public render() {\r\n return (\r\n \r\n {\r\n (t, { i18n }) => this.renderWithTranslation(t, i18n)\r\n }\r\n \r\n );\r\n } \r\n\r\n /**\r\n * Renders the component with translation\r\n * @param t Translate object\r\n * @param i18n i18n object\r\n */\r\n protected abstract renderWithTranslation(t: TFunction, i18n: i18n): ReactNode;\r\n}\r\n\r\nexport default TranslatedComponent; ","import React, { ReactNode } from 'react';\r\n\r\n// Components\r\nimport styles from './Header.module.css';\r\nimport TranslatedComponent from '../../../localization/TranslatedComponent';\r\nimport { TFunction } from 'i18next';\r\n\r\n/**\r\n * Header Component\r\n */\r\nclass Header extends TranslatedComponent<{}, {}> {\r\n /**\r\n * Renders the Header\r\n */\r\n protected renderWithTranslation(t: TFunction): ReactNode {\r\n return (\r\n
\r\n
\r\n {t(\"header.scifoLogo\")}\r\n
\r\n );\r\n } \r\n}\r\n\r\nexport default Header; ","// Library\r\nimport React from 'react';\r\nimport { IButtonProps, CommandBarButton } from 'office-ui-fabric-react';\r\nimport { useHistory } from 'react-router-dom';\r\n\r\n/**\r\n * Renders a NavBar Button\r\n * @param props NavBar Button data\r\n */\r\nconst NavBarButton: React.FunctionComponent = props => {\r\n let routerHistory = useHistory();\r\n const buttonOnMouseClick = () => {\r\n routerHistory.push(props.data.target);\r\n }\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default NavBarButton;","/**\r\n * Returns true if the application is running in serve mode, else false\r\n * @returns true if the application is running in serve mode, else false\r\n */\r\nfunction isDevMode() {\r\n if (window.location.href.includes(\"localhost:3000\")) {\r\n return true;\r\n }\r\n return false;\r\n}\r\n\r\nexport default isDevMode;","/**\n * EventBus Events\n */\nenum EventBusEvent {\n /**\n * Gets called if a loading process starts\n */\n OnLoadStarted,\n\n /**\n * Gets called if a loading process is done\n */\n OnLoadFinished\n}\n\nexport default EventBusEvent;","/**\r\n * Data of the logged in user\r\n */\r\nclass UserData {\r\n /**\r\n * true if the user is authenticated, else false\r\n */\r\n public isAuthenticated: boolean;\r\n\r\n /**\r\n * true if the user is authenticated using IP, else false\r\n */\r\n public isIpAuthenticated: boolean;\r\n\r\n /**\r\n * true if the user MySite\r\n */\r\n public isAdmin: boolean;\r\n\r\n /**\r\n * Displayname of the user\r\n */\r\n public displayName: string;\r\n\r\n /**\r\n * Constructor\r\n */\r\n public constructor() {\r\n this.isAuthenticated = false;\r\n this.isIpAuthenticated = false;\r\n this.displayName = \"\";\r\n this.isAdmin = false;\r\n }\r\n}\r\n\r\nexport default UserData;","import UserData from './../UserData';\r\n\r\n/**\r\n * Logged in user check result\r\n */\r\nclass LoggedInUserCheckResult {\r\n /**\r\n * User\r\n */\r\n public user: UserData | null;\r\n\r\n /**\r\n * true if too many logins were detected\r\n */\r\n public tooManyLogins: boolean;\r\n\r\n /**\r\n * Constructor\r\n */\r\n public constructor() {\r\n this.user = null;\r\n this.tooManyLogins = false;\r\n }\r\n}\r\n\r\nexport default LoggedInUserCheckResult;","import EventBusEvent from './EventBusEvent';\r\nimport EventCallBack from './EventCallbacks';\r\n\r\n/**\r\n * Event bus service\r\n */\r\nexport default class EventBusService {\r\n\r\n /**\r\n * To prevent the eventbus from being instantiated with new\r\n * @memberof EventBusService\r\n */\r\n private constructor() {\r\n }\r\n\r\n /**\r\n * AndEventBusInstance\r\n */\r\n public static instance: EventBusService;\r\n\r\n /**\r\n * Registered Event callbacks\r\n */\r\n private eventCallbacks: {[key: number]: EventCallBack[]} = {};\r\n\r\n /**\r\n * Returns the instance of the EventBusService\r\n * @static\r\n * @returns\r\n * @memberof EventBusService\r\n */\r\n public static getInstance() {\r\n if (!this.instance) {\r\n this.instance = new EventBusService(); \r\n }\r\n return this.instance;\r\n }\r\n\r\n /**\r\n * Registers a new event callback\r\n * @param event Event\r\n * @param callback Callback to call on the event\r\n */\r\n public on(event: EventBusEvent, context: any, callback: Function) {\r\n if(!this.eventCallbacks[event]) {\r\n this.eventCallbacks[event] = [];\r\n }\r\n let eventCallBack: EventCallBack = {\r\n eventCallback: callback, \r\n callbackContext: context\r\n }\r\n this.eventCallbacks[event].push(eventCallBack);\r\n }\r\n\r\n /**\r\n * Unregisters an event callback\r\n * @param event Event\r\n * @param callback Callback to unregister\r\n */\r\n public off(event: EventBusEvent, callback:Function) {\r\n if(!this.eventCallbacks[event]) {\r\n return;\r\n }\r\n for(let curCallback = this.eventCallbacks[event].length - 1; curCallback >= 0; --curCallback) {\r\n if(this.eventCallbacks[event][curCallback] && this.eventCallbacks[event][curCallback].eventCallback === callback) {\r\n this.eventCallbacks[event].splice(curCallback, 1);\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Calls all event callbacks for an event\r\n * @param event Event\r\n * @param args Callback arguments\r\n */\r\n public dispatch(event: EventBusEvent, ...args: any[]) {\r\n if(!this.eventCallbacks[event]) {\r\n return;\r\n }\r\n for(let curCallback of this.eventCallbacks[event]) {\r\n curCallback.eventCallback.call(curCallback.callbackContext, ...args);\r\n }\r\n }\r\n}\r\n","import ILogger from \"./ILogger\";\r\n\r\n/**\r\n * Class for a logger\r\n */\r\nclass ConsoleLogger implements ILogger {\r\n /**\r\n * Page view start\r\n */\r\n private pageViewStart: number = 0;\r\n\r\n /**\r\n * Current page\r\n */\r\n private currentPage: string = \"\";\r\n\r\n /**\r\n * Initialized the logger\r\n */\r\n public init(): void {\r\n console.log(\"Console Logger initialized\");\r\n }\r\n\r\n /**\r\n * Starts tracking a page\r\n * @param pageName Page name\r\n */\r\n public startTrackPage(pageName: string): void {\r\n if(this.currentPage === pageName) {\r\n return;\r\n }\r\n\r\n if(this.currentPage) {\r\n let viewTime = ((new Date()).getTime() - this.pageViewStart) / 1000;\r\n console.log(`Viewed ${this.currentPage} for ${viewTime}`);\r\n }\r\n\r\n this.pageViewStart = (new Date()).getTime();\r\n this.currentPage = pageName;\r\n }\r\n\r\n /**\r\n * Tracks a request\r\n * @param trackId Track id\r\n * @param url Url that was called\r\n * @param success true if the request was a success, else false\r\n * @param responseCode Response code\r\n * @param method Method used\r\n * @param duration Duration the call took\r\n */\r\n public trackRequest(trackId: string, url: string, success: boolean, responseCode: number, method: string, duration: number): void {\r\n console.log(`${method} ${url} (${trackId}) took ${duration}ms -> response ${responseCode}, success: ${success}`);\r\n }\r\n}\r\n\r\nexport default ConsoleLogger;","import { ApplicationInsights } from '@microsoft/applicationinsights-web'\r\n\r\nimport ILogger from \"./ILogger\";\r\n\r\n/**\r\n * Class for application insights\r\n */\r\nclass AppInsightsLogger implements ILogger {\r\n\r\n /**\r\n * Application insights\r\n */\r\n private appInsights: ApplicationInsights | null = null;\r\n\r\n /**\r\n * Current page\r\n */\r\n private currentPage: string = \"\";\r\n\r\n /**\r\n * Initialized the logger\r\n */\r\n public init(): void {\r\n if(this.appInsights) {\r\n return;\r\n }\r\n\r\n let configObject: any = (window as any)[\"VulkanVerlag\"];\r\n if(configObject && configObject.Config && configObject.Config.InstrumentationKey)\r\n {\r\n this.appInsights = new ApplicationInsights({ config : {\r\n instrumentationKey: configObject.Config.InstrumentationKey,\r\n disableAjaxTracking: true\r\n }});\r\n }\r\n }\r\n\r\n /**\r\n * Starts tracking a page\r\n * @param pageName Page name\r\n */\r\n public startTrackPage(pageName: string): void {\r\n if(this.currentPage === pageName) {\r\n return;\r\n }\r\n\r\n if(this.appInsights) {\r\n if(this.currentPage) {\r\n this.appInsights.stopTrackPage(this.currentPage);\r\n }\r\n\r\n this.appInsights.startTrackPage(pageName);\r\n this.currentPage = pageName;\r\n }\r\n }\r\n\r\n /**\r\n * Tracks a request\r\n * @param trackId Track id\r\n * @param url Url that was called\r\n * @param success true if the request was a success, else false\r\n * @param responseCode Response code\r\n * @param method Method used\r\n * @param duration Duration the call took\r\n */\r\n public trackRequest(trackId: string, url: string, success: boolean, responseCode: number, method: string, duration: number): void {\r\n if(!this.appInsights) {\r\n return;\r\n }\r\n\r\n if(!url.startsWith(\"https://\") || !url.startsWith(\"http://\")) {\r\n if(!url.startsWith(\"/\")) {\r\n url = \"/\" + url;\r\n }\r\n url = window.location.origin + url;\r\n }\r\n \r\n this.appInsights.trackDependencyData({\r\n id: trackId,\r\n target: url,\r\n success: success,\r\n responseCode: responseCode,\r\n type: method,\r\n duration: duration\r\n });\r\n }\r\n}\r\n\r\nexport default AppInsightsLogger;","// Util\r\nimport isDevMode from './../../util/IsDevMode';\r\n\r\n// Services\r\nimport ILogger from './ILogger';\r\nimport ConsoleLogger from './ConsoleLogger';\r\nimport AppInsightsLogger from './AppInsightsLogger';\r\n\r\n/**\r\n * Factory class to provide logger services\r\n */\r\nexport default class LogManagerService {\r\n /**\r\n * To prevent the logger from being instantiated with new\r\n * @memberof LogManagerService\r\n */\r\n private constructor() {\r\n this.loggers = this.buildLoggers();\r\n }\r\n\r\n /**\r\n * LogManager Service\r\n */\r\n public static instance: LogManagerService;\r\n\r\n /**\r\n * Returns the instance of the LogManagerService\r\n */\r\n public static getInstance() {\r\n if (!this.instance) {\r\n this.instance = new LogManagerService();\r\n }\r\n return this.instance;\r\n }\r\n\r\n /**\r\n * Loggers to use\r\n */\r\n private loggers: ILogger[];\r\n\r\n /**\r\n * Builds the loggers to use\r\n */\r\n private buildLoggers(): ILogger[] {\r\n let loggers = [];\r\n if (isDevMode()) {\r\n loggers.push(new ConsoleLogger());\r\n }\r\n else {\r\n loggers.push(new AppInsightsLogger());\r\n }\r\n\r\n return loggers;\r\n }\r\n\r\n /**\r\n * Initialized the loggers\r\n */\r\n public initializeLoggers(): void {\r\n for(let curLogger of this.loggers) {\r\n curLogger.init();\r\n }\r\n }\r\n\r\n /**\r\n * Starts tracking a page\r\n * @param pageName Page name\r\n */\r\n public startTrackPage(pageName: string): void {\r\n for(let curLogger of this.loggers) {\r\n curLogger.startTrackPage(pageName);\r\n }\r\n }\r\n\r\n /**\r\n * Tracks a request\r\n * @param trackId Track id\r\n * @param url Url that was called\r\n * @param success true if the request was a success, else false\r\n * @param responseCode Response code\r\n * @param method Method used\r\n * @param duration Duration the call took\r\n */\r\n public trackRequest(trackId: string, url: string, success: boolean, responseCode: number, method: string, duration: number): void {\r\n for(let curLogger of this.loggers) {\r\n curLogger.trackRequest(trackId, url, success, responseCode, method, duration);\r\n }\r\n }\r\n}","import EventBus from './../services/eventBus/EventBus.service';\r\nimport EventBusEvent from '../services/eventBus/EventBusEvent';\r\nimport LogManagerService from '../services/logging/LogManager.service';\r\n\r\n/**\r\n * Mocks a loading time\r\n * @returns Promise for the loading time\r\n */\r\nfunction mockLoadingTime(): Promise {\r\n return new Promise((resolve, reject) => {\r\n let start = (new Date()).getTime();\r\n EventBus.getInstance().dispatch(EventBusEvent.OnLoadStarted);\r\n setTimeout(() => {\r\n EventBus.getInstance().dispatch(EventBusEvent.OnLoadFinished);\r\n LogManagerService.getInstance().trackRequest(\"MOCK\", \"MOCK_URL\", true, 200, \"MOCK\", (new Date()).getTime() - start);\r\n resolve();\r\n }, (Math.random() * 500) + 250);\r\n });\r\n}\r\n\r\nexport default mockLoadingTime;","import UserData from './../../dto/UserData';\r\nimport LoggedInUserCheckResult from './../../dto/auth/loggedInUserCheckResult';\r\nimport mockLoadingTime from './../../util/MockLoadingTime';\r\n\r\nimport IAuthService from './IAuth.service';\r\n\r\n/**\r\n * Mock auth services\r\n */\r\nclass MockAuthService implements IAuthService {\r\n /**\r\n * Runs a login for a user\r\n * @param username Username\r\n * @param password Password\r\n * @returns Logged in userdata\r\n */\r\n public async login(username: string, password: string): Promise {\r\n await mockLoadingTime();\r\n\r\n let userData = new UserData();\r\n userData.isAuthenticated = true;\r\n userData.isIpAuthenticated = false;\r\n userData.displayName = \"Tim Tester\";\r\n return userData;\r\n }\r\n\r\n /**\r\n * Signs the current user out\r\n */\r\n public async signOut(): Promise {\r\n await mockLoadingTime();\r\n }\r\n\r\n /**\r\n * Checks if a user is already logged in\r\n */\r\n public checkLoggedInUser(): LoggedInUserCheckResult {\r\n let userData = new UserData();\r\n if(window.location.href.indexOf(\"autoLogin=1\") >= 0) {\r\n userData.isAuthenticated = true;\r\n userData.isIpAuthenticated = false;\r\n userData.displayName = \"Arnold AutoLogin\";\r\n }\r\n if(window.location.href.indexOf(\"adminAutoLogin=1\") >= 0) {\r\n userData.isAuthenticated = true;\r\n userData.isIpAuthenticated = false;\r\n userData.isAdmin = true;\r\n userData.displayName = \"Auto Admin\";\r\n }\r\n if(window.location.href.indexOf(\"ipAutoLogin=1\") >= 0) {\r\n userData.isAuthenticated = true;\r\n userData.isIpAuthenticated = true;\r\n userData.displayName = \"Ingo IP\";\r\n }\r\n\r\n let result: LoggedInUserCheckResult = new LoggedInUserCheckResult();\r\n result.user = userData;\r\n if(window.location.href.indexOf(\"peterPopular=1\") >= 0) {\r\n result.tooManyLogins = true;\r\n }\r\n\r\n return result;\r\n }\r\n}\r\n\r\nexport default MockAuthService;","// Library\r\nimport { Guid } from \"guid-typescript\";\r\nimport axios, { AxiosResponse, AxiosRequestConfig } from 'axios';\r\n\r\n// Services\r\nimport EventBusService from \"../eventBus/EventBus.service\";\r\nimport LogManagerService from \"./../logging/LogManager.service\";\r\nimport EventBusEvent from \"../eventBus/EventBusEvent\";\r\n\r\n/**\r\n * Http Client that tracks requests\r\n */\r\nexport default class TrackedHttpClient {\r\n /**\r\n * Holds all ongoing get requests\r\n */\r\n private static getRequests: { [k: string]: any } = {};\r\n\r\n /**\r\n * Currently running CSRF request\r\n */\r\n private static runningCsrfRequest: Promise | null = null;\r\n\r\n /**\r\n * Sens a tracked get request\r\n * @param {string} url\r\n * @param {*} [additionalOptions=null]\r\n */\r\n public static get(url: string, additionalOptions: any = null): Promise {\r\n return this.sendTrackedRequest((httpOptions: AxiosRequestConfig) => axios.get>(url, httpOptions), url, \"GET\", true, additionalOptions);\r\n }\r\n\r\n /**\r\n * Sends a post request\r\n * @param url Url to request\r\n * @param body Body to send\r\n * @param additionalOptions additional options for the request (content type etc.)\r\n */\r\n public static post(url: string, body: any, additionalOptions: any = null): Promise {\r\n return this.sendTrackedRequest((httpOptions: AxiosRequestConfig) => axios.post>(url, body, httpOptions), url, \"POST\", null, additionalOptions);\r\n }\r\n\r\n /**\r\n * Sends a put request\r\n * @param url Url to request\r\n * @param body Body to send\r\n * @param additionalOptions additional options for the request (content type etc.)\r\n */\r\n public static put(url: string, body: any, additionalOptions: any = null): Promise {\r\n return this.sendTrackedRequest((httpOptions: AxiosRequestConfig) => axios.put(url, body, httpOptions), url, \"PUT\", body, additionalOptions);\r\n }\r\n\r\n /**\r\n * Sensa a delete request\r\n * @param url Url to request\r\n * @param additionalOptions additional options for the request (content type etc.)\r\n */\r\n public static delete(url: string, additionalOptions: any = null): Promise {\r\n return this.sendTrackedRequest((httpOptions: AxiosRequestConfig) => axios.delete(url, httpOptions), url, \"DELETE\", null, additionalOptions);\r\n }\r\n\r\n /**\r\n * Creates a tracked request\r\n * @template T Body type\r\n * @param {(httpOptions: {}) => any} requestFunc Request function\r\n * @param {string} requestUrl Request url\r\n * @param {string} method Method to use\r\n * @param {*} additionalOptions Additional options\r\n * @returns {Promise}\r\n */\r\n private static sendTrackedRequest(requestFunc: (httpOptions: {}) => any, requestUrl: string, method: string, body: any, additionalOptions: any): Promise {\r\n let startTime: number = Date.now();\r\n let batchUrl: string = requestUrl.toLowerCase();\r\n if (method === \"GET\") {\r\n if (this.getRequests[batchUrl]) {\r\n return this.getRequests[batchUrl];\r\n }\r\n }\r\n\r\n EventBusService.getInstance().dispatch(EventBusEvent.OnLoadStarted);\r\n let returnPromise: Promise = new Promise((resolve, reject) => {\r\n let referenceId: string = Guid.create().toString();\r\n this.createHeaders(additionalOptions, referenceId, method).then((headers) => {\r\n let httpOptions: AxiosRequestConfig = {\r\n headers: headers,\r\n }\r\n requestFunc(httpOptions).then((response: AxiosResponse) => {\r\n LogManagerService.getInstance().trackRequest(referenceId, requestUrl, true, response.status, method, Date.now() - startTime);\r\n EventBusService.getInstance().dispatch(EventBusEvent.OnLoadFinished);\r\n resolve(response.data);\r\n delete this.getRequests[batchUrl];\r\n }).catch((err: any) => {\r\n delete this.getRequests[batchUrl];\r\n let statusCode = 500;\r\n if(err.response) {\r\n statusCode = err.response;\r\n }\r\n LogManagerService.getInstance().trackRequest(referenceId, requestUrl, false, statusCode, method, Date.now() - startTime);\r\n EventBusService.getInstance().dispatch(EventBusEvent.OnLoadFinished);\r\n reject(err);\r\n });\r\n }, (err) => {\r\n delete this.getRequests[batchUrl];\r\n let statusCode = 500;\r\n if(err.response) {\r\n statusCode = err.response;\r\n }\r\n LogManagerService.getInstance().trackRequest(referenceId, requestUrl, false, statusCode, method, Date.now() - startTime);\r\n EventBusService.getInstance().dispatch(EventBusEvent.OnLoadFinished);\r\n reject(err);\r\n });\r\n });\r\n\r\n if (method === \"GET\") {\r\n this.getRequests[batchUrl] = returnPromise;\r\n }\r\n\r\n return returnPromise;\r\n }\r\n\r\n /**\r\n * Creates http headers\r\n * @param additionalHeaders Additional headers\r\n * @param referenceId Reference id to use\r\n * @param method Request method\r\n */\r\n private static async createHeaders(additionalOptions: any, referenceId: string, method: string): Promise<{}> {\r\n let headers: any = {\r\n referenceId: referenceId\r\n }\r\n\r\n if(method !== \"GET\") {\r\n let csrfToken = await this.requestCsrfToken();\r\n headers[\"__RequestVerificationToken\"] = csrfToken;\r\n }\r\n\r\n if (!additionalOptions || additionalOptions.headers) {\r\n return headers;\r\n }\r\n headers = {\r\n ...headers,\r\n ...additionalOptions.headers\r\n }\r\n return headers;\r\n }\r\n\r\n /**\r\n * Loads a CSRF Token\r\n * @returns CSRF Token\r\n */\r\n private static async requestCsrfToken(): Promise {\r\n if(this.runningCsrfRequest != null)\r\n {\r\n return this.runningCsrfRequest;\r\n }\r\n\r\n this.runningCsrfRequest = this.get(\"/api/util/getCsrfToken\");\r\n let token = await this.runningCsrfRequest;\r\n this.runningCsrfRequest = null;\r\n\r\n return token;\r\n }\r\n}","import TrackedHttpClient from './../trackedHttpClient/TrackedHttpClient.service';\r\nimport UserData from './../../dto/UserData';\r\nimport LoggedInUserCheckResult from './../../dto/auth/loggedInUserCheckResult';\r\nimport IAuthService from './IAuth.service';\r\n\r\n/**\r\n * Web auth services\r\n */\r\nclass WebAuthService implements IAuthService {\r\n /**\r\n * Runs a login for a user\r\n * @param username Username\r\n * @param password Password\r\n * @returns Logged in userdata\r\n */\r\n public async login(username: string, password: string): Promise {\r\n // Make sure to use post to not log credentials\r\n return await TrackedHttpClient.post(\"/api/login\", { \r\n username: username,\r\n password: password\r\n });\r\n }\r\n\r\n /**\r\n * Signs the current user out\r\n */\r\n public async signOut(): Promise {\r\n await TrackedHttpClient.post(\"/api/signOut\", {});\r\n }\r\n\r\n /**\r\n * Checks if a user is already logged in\r\n */\r\n public checkLoggedInUser(): LoggedInUserCheckResult {\r\n let result: LoggedInUserCheckResult = new LoggedInUserCheckResult();\r\n\r\n result.user = new UserData();\r\n let windowCheckObj: any = window as any;\r\n if(windowCheckObj[\"VulkanVerlag\"] && windowCheckObj[\"VulkanVerlag\"].CurrentUser) {\r\n result.user.isAuthenticated = true;\r\n result.user.isIpAuthenticated = windowCheckObj[\"VulkanVerlag\"].CurrentUser.isIpAuthenticated;\r\n result.user.displayName = windowCheckObj[\"VulkanVerlag\"].CurrentUser.name;\r\n result.user.isAdmin = windowCheckObj[\"VulkanVerlag\"].CurrentUser.isAdmin;\r\n } else {\r\n result.user.isAuthenticated = false;\r\n }\r\n\r\n if(windowCheckObj[\"VulkanVerlag\"] && windowCheckObj[\"VulkanVerlag\"].hasTooManyLogins) {\r\n result.tooManyLogins = true;\r\n }\r\n\r\n return result;\r\n }\r\n}\r\n\r\nexport default WebAuthService;","// Util\r\nimport isDevMode from './../../util/IsDevMode';\r\n\r\n// Services\r\nimport IAuthService from './IAuth.service';\r\nimport MockAuthService from './MockAuth.service';\r\nimport WebAuthService from './WebAuth.service';\r\n\r\n/**\r\n * Factory class to provide auth services\r\n */\r\nexport default class AuthFactoryService {\r\n /**\r\n * Returns the auth service\r\n * @returns Auth service\r\n */\r\n public static getAuthService(): IAuthService {\r\n if (isDevMode()) {\r\n return new MockAuthService();\r\n }\r\n\r\n return new WebAuthService();\r\n }\r\n}","/**\r\n * Navbar state class\r\n */\r\nclass NavBarState {\r\n /**\r\n * true if the sign out error messages should be shown\r\n */\r\n public showSignOutErrorMessage: boolean;\r\n\r\n /**\r\n * Constructor\r\n */\r\n public constructor()\r\n {\r\n this.showSignOutErrorMessage = false;\r\n }\r\n}\r\n\r\nexport default NavBarState;","import React, { ReactNode } from 'react';\r\n\r\n// Library\r\nimport { ColorClassNames, FontSizes, CommandBar, ICommandBarItemProps, getTheme, ICommandBarStyles, ContextualMenuItemType, MessageBarType, MessageBar } from 'office-ui-fabric-react';\r\nimport { TFunction } from 'i18next';\r\nimport { useHistory } from 'react-router-dom';\r\n\r\n// Components\r\nimport TranslatedComponent from '../../../localization/TranslatedComponent';\r\nimport styles from './NavBar.module.css';\r\nimport NavBarButton from './components/NavBarButton';\r\n\r\n// Services\r\nimport AuthFactoryService from '../../../services/auth/AuthFactory.service';\r\n\r\n// Dto\r\nimport INavBarProps from './dto/INavBarProps';\r\nimport NavBarState from './dto/NavBarState';\r\n\r\n/**\r\n * NavBar Component\r\n */\r\nclass NavBar extends TranslatedComponent {\r\n /**\r\n * Theme\r\n */\r\n private readonly _theme = getTheme();\r\n\r\n /**\r\n * Menu Styles\r\n */\r\n private readonly _menuStyles: Partial = {\r\n root: {\r\n backgroundColor: this._theme.palette.neutralLight,\r\n paddingLeft: \"68px\",\r\n paddingRight: \"68px\"\r\n }\r\n };\r\n\r\n /**\r\n * Constructor\r\n * @param props Input props\r\n */\r\n public constructor(props: Readonly) {\r\n super(props);\r\n\r\n this.state = new NavBarState();\r\n }\r\n\r\n /**\r\n * Renders the header\r\n */\r\n protected renderWithTranslation(t: TFunction): ReactNode {\r\n let routerHistory = useHistory();\r\n\r\n return (\r\n
\r\n
\r\n \r\n
\r\n\r\n {this.renderSignOutErrorBar(t)}\r\n
\r\n );\r\n }\r\n\r\n /**\r\n * Renders the sign out error bar if requierd\r\n * @param t Translate function\r\n */\r\n private renderSignOutErrorBar(t: TFunction): ReactNode {\r\n if (!this.state.showSignOutErrorMessage) {\r\n return null;\r\n }\r\n\r\n return (\r\n
\r\n \r\n {t(\"navbar.couldNotLogout\")}\r\n \r\n
\r\n );\r\n }\r\n\r\n /**\r\n * Hides the sign out error\r\n */\r\n private hideSignOutError = () => {\r\n this.setState({\r\n showSignOutErrorMessage: false\r\n });\r\n }\r\n\r\n /**\r\n * Builds the menu items\r\n * @param t Translate function\r\n * @param routerHistory Router history\r\n * @returns Commandbar items\r\n */\r\n private getItems = (t: TFunction, routerHistory: any): ICommandBarItemProps[] => {\r\n return [\r\n {\r\n key: \"Home\",\r\n text: t(\"navbar.home\"),\r\n data: {\r\n target: \"/\"\r\n },\r\n buttonStyles: { rootHovered: { borderBottomColor: this._theme.palette.themePrimary, borderBottomWidth: \"3px\", borderBottomStyle: \"solid\", backgroundColor: \"transparent\" }, root: { fontSize: FontSizes.mediumPlus, backgroundColor: \"transparent\" } },\r\n iconProps: { styles: { root: { fontSize: FontSizes.medium } }, iconName: \"Home\" },\r\n onClick: () => routerHistory.push(\"/\")\r\n },\r\n {\r\n key: \"MyDownloads\",\r\n text: t(\"navbar.myDownloads\"),\r\n data: {\r\n target: \"/myDownloads\"\r\n },\r\n buttonStyles: { rootHovered: { borderBottomColor: this._theme.palette.themePrimary, borderBottomWidth: \"3px\", borderBottomStyle: \"solid\", backgroundColor: \"transparent\" }, root: { fontSize: FontSizes.mediumPlus, backgroundColor: \"transparent\" } },\r\n iconProps: { styles: { root: { fontSize: FontSizes.medium } }, iconName: \"Installation\" },\r\n onClick: () => routerHistory.push(\"/myDownloads\")\r\n },\r\n {\r\n key: \"Favoriten\",\r\n text: t(\"navbar.Favoriten\"),\r\n data: {\r\n target: \"/favorites\"\r\n },\r\n buttonStyles: { rootHovered: { borderBottomColor: this._theme.palette.themePrimary, borderBottomWidth: \"3px\", borderBottomStyle: \"solid\", backgroundColor: \"transparent\" }, root: { fontSize: FontSizes.mediumPlus, backgroundColor: \"transparent\" } },\r\n iconProps: { styles: { root: { fontSize: FontSizes.medium } }, iconName: \"FavoriteStar\" },\r\n onClick: () => routerHistory.push(\"/favorites\")\r\n }\r\n ];\r\n }\r\n\r\n /**\r\n * Builds the far items\r\n * @param t Translate function\r\n * @param routerHistory Router history\r\n * @returns Commandbar items\r\n */\r\n private getFarItems = (t: TFunction, routerHistory: any): ICommandBarItemProps[] => {\r\n if (!this.props.currentUser || !this.props.currentUser.isAuthenticated) {\r\n return [\r\n {\r\n key: \"Login\",\r\n text: t(\"navbar.login\"),\r\n iconProps: { iconName: \"Fingerprint\" },\r\n buttonStyles: { rootHovered: { borderBottomColor: this._theme.palette.themePrimary, borderBottomWidth: \"3px\", borderBottomStyle: \"solid\", backgroundColor: \"transparent\" }, root: { fontSize: FontSizes.mediumPlus, backgroundColor: \"transparent\" } },\r\n data: {\r\n target: \"/login\"\r\n },\r\n onClick: () => routerHistory.push(\"/login\")\r\n }\r\n ];\r\n } else {\r\n let userItems: any[] = [];\r\n if (!this.props.currentUser.isIpAuthenticated) {\r\n userItems = [{\r\n key: \"ChangePassword\",\r\n text: t(\"navbar.changePassword\"),\r\n iconProps: { iconName: \"Signin\" },\r\n onClick: () => routerHistory.push(\"/changePassword\")\r\n },\r\n {\r\n key: \"MyProfile\",\r\n text: t(\"navbar.myProfile\"),\r\n iconProps: { iconName: \"Contact\" },\r\n onClick: () => routerHistory.push(\"/myProfile\")\r\n },\r\n {\r\n key: \"MySubscriptions\",\r\n text: t(\"navbar.mySubscriptions\"),\r\n iconProps: { iconName: \"PaymentCard\" },\r\n onClick: () => routerHistory.push(\"/mySubscriptions\")\r\n },\r\n {\r\n key: \"Divider\",\r\n itemType: ContextualMenuItemType.Divider\r\n }];\r\n }\r\n\r\n if(this.props.currentUser.isAdmin)\r\n {\r\n userItems.push({\r\n key: \"AdminArea\",\r\n text: t(\"navbar.administration\"),\r\n iconProps: { iconName: \"Admin\" },\r\n onClick: () => routerHistory.push(\"/administration\")\r\n });\r\n userItems.push({\r\n key: \"AdminDivider\",\r\n itemType: ContextualMenuItemType.Divider\r\n });\r\n }\r\n\r\n userItems.push({\r\n key: \"Logout\",\r\n text: t(\"navbar.logout\"),\r\n iconProps: { iconName: \"SignOut\" },\r\n onClick: this.signOut\r\n });\r\n\r\n return [\r\n {\r\n key: \"LoggedIn\",\r\n text: this.props.currentUser.displayName,\r\n buttonStyles: { rootHovered: { borderBottomColor: this._theme.palette.themePrimary, borderBottomWidth: \"3px\", borderBottomStyle: \"solid\", backgroundColor: \"transparent\" }, root: { backgroundColor: \"transparent\" } },\r\n\r\n iconProps: { iconName: \"Fingerprint\" },\r\n subMenuProps: {\r\n items: userItems\r\n }\r\n }\r\n ];\r\n }\r\n }\r\n\r\n /**\r\n * Signs the current user out\r\n */\r\n private signOut = async (): Promise => {\r\n this.setState({\r\n showSignOutErrorMessage: false\r\n });\r\n\r\n try {\r\n await AuthFactoryService.getAuthService().signOut();\r\n this.props.onUserSignedOut();\r\n }\r\n catch (e) {\r\n this.setState({\r\n showSignOutErrorMessage: true\r\n });\r\n }\r\n }\r\n}\r\n\r\nexport default NavBar; ","// Library\r\nimport React from 'react';\r\nimport { useLocation } from 'react-router-dom'\r\n\r\n// Services\r\nimport LogManagerService from './../../../services/logging/LogManager.service'\r\n\r\n/**\r\n * Renders a Pageview tracker\r\n */\r\nconst PageViewTracker: React.FunctionComponent = () => {\r\n let location = useLocation();\r\n LogManagerService.getInstance().startTrackPage(location.pathname);\r\n React.useEffect(() => {\r\n LogManagerService.getInstance().startTrackPage(location.pathname);\r\n }, [location]);\r\n\r\n return (\r\n null\r\n );\r\n};\r\n\r\nexport default PageViewTracker;","/**\r\n * State class for the global loading indicator\r\n */\r\nclass GlobalLoadingIndicatorState {\r\n /**\r\n * Amount of loading events in progress\r\n */\r\n public loadingRefCount: number;\r\n\r\n /**\r\n * Constructor\r\n */\r\n public constructor() {\r\n this.loadingRefCount = 0;\r\n }\r\n}\r\n\r\nexport default GlobalLoadingIndicatorState;","import React from 'react';\r\n\r\n// Library\r\nimport { ColorClassNames, ProgressIndicator } from 'office-ui-fabric-react';\r\n\r\n// Components\r\nimport styles from './GlobalLoadingIndicator.module.css';\r\n\r\n// Services\r\nimport EventBus from './../../../services/eventBus/EventBus.service';\r\nimport EventBusEvent from '../../../services/eventBus/EventBusEvent';\r\n\r\n// Dto\r\nimport GlobalLoadingIndicatorState from './dto/GlobalLoadingIndicatorState';\r\n\r\n/**\r\n * Global Loading Indicator Component\r\n */\r\nclass GlobalLoadingIndicator extends React.Component<{}, GlobalLoadingIndicatorState> {\r\n /**\r\n * Constructor\r\n * @param props Input props\r\n */\r\n constructor(props: Readonly<{}>) {\r\n super(props);\r\n\r\n this.state = new GlobalLoadingIndicatorState();\r\n }\r\n\r\n /**\r\n * Connects to loading events\r\n */\r\n public componentDidMount() {\r\n EventBus.getInstance().on(EventBusEvent.OnLoadStarted, this, this.incLoadingRefCount);\r\n EventBus.getInstance().on(EventBusEvent.OnLoadFinished, this, this.decLoadingRefCount);\r\n }\r\n\r\n /**\r\n * Disconnects from loading events\r\n */\r\n public componentWillUnmount() {\r\n EventBus.getInstance().off(EventBusEvent.OnLoadStarted, this.incLoadingRefCount);\r\n EventBus.getInstance().off(EventBusEvent.OnLoadFinished, this.decLoadingRefCount);\r\n }\r\n\r\n /**\r\n * Increments the loading ref count\r\n */\r\n private incLoadingRefCount = () => { this.changeLoadingRefCount(1); }\r\n\r\n /**\r\n * Decrements the loading ref count\r\n */\r\n private decLoadingRefCount = () => { this.changeLoadingRefCount(-1); }\r\n\r\n /**\r\n * Changes the loading ref count\r\n * @param refChange Ref count change\r\n */\r\n private changeLoadingRefCount = (refChange: number) => {\r\n let newRefCount = this.state.loadingRefCount + refChange;\r\n if(newRefCount < 0)\r\n {\r\n newRefCount = 0;\r\n }\r\n\r\n this.setState({\r\n loadingRefCount: newRefCount\r\n });\r\n }\r\n\r\n /**\r\n * Renders the loading bar\r\n */\r\n public render() {\r\n return (\r\n
\r\n {this.state.loadingRefCount > 0 && \r\n \r\n }\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default GlobalLoadingIndicator; ","import React, { ReactNode } from 'react';\r\n\r\n// Library\r\nimport { ColorClassNames, FontClassNames } from 'office-ui-fabric-react';\r\nimport { TFunction } from 'i18next';\r\n\r\n// Components\r\nimport styles from './Footer.module.css';\r\nimport TranslatedComponent from '../../../localization/TranslatedComponent';\r\nimport { Link } from 'react-router-dom';\r\n\r\n/**\r\n * Footer Component\r\n */\r\nclass Footer extends TranslatedComponent<{}, {}> {\r\n /**\r\n * Renders the Footer\r\n */\r\n protected renderWithTranslation(t: TFunction): ReactNode {\r\n return (\r\n
\r\n {t(\"footer.vulkanVerlagLogo\")}\r\n
\r\n
\r\n \r\n {`${t(\"footer.imprint\")}`}\r\n \r\n  | \r\n \r\n {`${t(\"footer.termsOfUse\")}`}\r\n \r\n  | \r\n \r\n {`${t(\"footer.dataProtection\")}`}\r\n \r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default Footer; ","/**\r\n * Login page state class\r\n */\r\nclass LoginState {\r\n /**\r\n * Username\r\n */\r\n public username: string;\r\n\r\n /**\r\n * Password\r\n */\r\n public password: string;\r\n\r\n /**\r\n * true if error messages should be shown on empty\r\n */\r\n public showErrorMessage: boolean;\r\n\r\n /**\r\n * true if an auth error occured\r\n */\r\n public authErrorOccured: boolean;\r\n\r\n /**\r\n * Text of the auth error message\r\n */\r\n public authErrorMessage: string;\r\n\r\n /**\r\n * true if the login process is running\r\n */\r\n public isLoading: boolean;\r\n\r\n /**\r\n * Constructor\r\n */\r\n public constructor() {\r\n this.username = \"\";\r\n this.password = \"\";\r\n this.showErrorMessage = false;\r\n this.authErrorOccured = false;\r\n this.authErrorMessage = \"\";\r\n this.isLoading = false;\r\n }\r\n}\r\n\r\nexport default LoginState;","import React, { ReactNode } from 'react';\r\nimport { TextField, PrimaryButton, MessageBar, Icon, Text, MessageBarType, FontClassNames, ColorClassNames, FontWeights, DefaultButton, SpinnerSize, Spinner } from 'office-ui-fabric-react';\r\nimport 'office-ui-fabric-core/dist/css/fabric.min.css';\r\n\r\n// Library\r\nimport { TFunction } from 'i18next';\r\nimport { Redirect, useLocation, useHistory, Link } from 'react-router-dom';\r\n\r\n// Components\r\nimport TranslatedComponent from '../../localization/TranslatedComponent';\r\nimport styles from './Login.module.css';\r\n\r\n// Services\r\nimport AuthServiceFactory from './../../services/auth/AuthFactory.service';\r\n\r\n// Dto\r\nimport ILoginProps from './dto/ILoginProps';\r\nimport LoginState from './dto/LoginState';\r\n\r\n\r\n/**\r\n * Login Component\r\n */\r\nclass Login extends TranslatedComponent {\r\n /**\r\n * Constructor\r\n * @param props Input props\r\n */\r\n public constructor(props: Readonly) {\r\n super(props);\r\n\r\n this.state = new LoginState();\r\n }\r\n\r\n /**\r\n * Renders the login component\r\n */\r\n protected renderWithTranslation(t: TFunction): ReactNode {\r\n let location: any = useLocation();\r\n let routerHistory = useHistory();\r\n\r\n let redirectTarget = location && location.state && location.state.from ? location.state.from : \"/\";\r\n return (\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n {this.renderLoggedInUserRedirect(redirectTarget)}\r\n

{t(\"login.enterCredentials\")}

\r\n {t(\"header.scifoLogo\")}\r\n\r\n {this.renderAuthErrorOccured(t)}\r\n\r\n

{t(\"login.text\")}

\r\n\r\n \r\n \r\n

\r\n this.toHome(routerHistory)}>{t(\"login.cancel\")}  \r\n \r\n {this.state.isLoading && }\r\n {t(\"login.login\")}\r\n \r\n

\r\n
\r\n

{t(\"login.registerLink\")}\r\n   \r\n {t(\"login.passwordResetLink\")}

\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n );\r\n }\r\n\r\n /**\r\n * Renders a redirect for a logged in user\r\n * @param redirectTarget Redirect target\r\n */\r\n private renderLoggedInUserRedirect(redirectTarget: string): ReactNode {\r\n if (!this.props.currentUser || !this.props.currentUser.isAuthenticated) {\r\n return null;\r\n }\r\n\r\n return ();\r\n }\r\n\r\n /**\r\n * Renders a message that an auth error occured\r\n * @param t Translate function\r\n */\r\n private renderAuthErrorOccured(t: TFunction): ReactNode {\r\n if (!this.state.authErrorOccured) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n {t(this.state.authErrorMessage)}\r\n \r\n )\r\n }\r\n\r\n /**\r\n * Removes the auth error banner\r\n */\r\n private removeAuthErrorBanner = (): void => {\r\n this.setState({\r\n authErrorOccured: false\r\n })\r\n }\r\n\r\n /**\r\n * Returns an error message if a login field is empty\r\n * @param t Translation function\r\n * @param value Current value\r\n */\r\n private getErrorMessage = (t: TFunction, value: string): string => {\r\n if (!this.state.showErrorMessage || value) {\r\n return \"\";\r\n }\r\n\r\n return t(\"general.mandatoryField\");\r\n }\r\n\r\n /**\r\n * Gets called if the username is changed\r\n * @param event Event object\r\n * @param newValue New value\r\n */\r\n private onUsernameChange = (event: React.FormEvent, newValue?: string): void => {\r\n this.setState({\r\n username: newValue ? newValue : \"\"\r\n });\r\n }\r\n\r\n /**\r\n * Gets called if the password is changed\r\n * @param event Event object\r\n * @param newValue New value\r\n */\r\n private onPasswordChange = (event: React.FormEvent, newValue?: string): void => {\r\n this.setState({\r\n password: newValue ? newValue : \"\"\r\n });\r\n }\r\n\r\n /**\r\n * Redirects the user back to the home screen\r\n * @param routerHistory Router history\r\n */\r\n private toHome = (routerHistory: any) => {\r\n routerHistory.push(\"/\");\r\n };\r\n\r\n /** \r\n * Submits a login request on enter \r\n */\r\n private loginOnEnter = (e: React.KeyboardEvent) => {\r\n if(e.key === \"Enter\")\r\n {\r\n this.onLogin();\r\n }\r\n }\r\n\r\n /**\r\n * Gets called if the user wants to login\r\n */\r\n private onLogin = async () => {\r\n if (!this.state.username || !this.state.password) {\r\n this.setState({\r\n showErrorMessage: true,\r\n authErrorOccured: false,\r\n authErrorMessage: \"login.youCouldNotBeLoggedIn\"\r\n });\r\n return;\r\n }\r\n\r\n this.setState({\r\n showErrorMessage: false,\r\n authErrorOccured: false,\r\n authErrorMessage: \"login.youCouldNotBeLoggedIn\",\r\n isLoading: true\r\n });\r\n\r\n let userData;\r\n let authErrorOccured = false;\r\n let authErrorMessage = \"login.youCouldNotBeLoggedIn\";\r\n try {\r\n userData = await AuthServiceFactory.getAuthService().login(this.state.username, this.state.password);\r\n if (!userData.isAuthenticated) {\r\n authErrorOccured = true;\r\n }\r\n }\r\n catch (e) {\r\n authErrorOccured = true;\r\n\r\n if (e.response && e.response.data === \"emailNotConfirmed\") {\r\n authErrorMessage = \"login.pleaseConfirmBeforeLoggingIn\";\r\n } else if (e.response && e.response.data === \"tooManySessions\") {\r\n authErrorMessage = \"login.tooManySessionsForLogin\";\r\n }\r\n }\r\n\r\n if (authErrorOccured || !userData) {\r\n this.setState({\r\n authErrorOccured: true,\r\n authErrorMessage: authErrorMessage,\r\n isLoading: false\r\n });\r\n }\r\n else {\r\n this.setState({\r\n isLoading: false\r\n });\r\n this.props.onUserLoggedIn(userData);\r\n }\r\n }\r\n}\r\n\r\nexport default Login; ","/**\r\n * User data\r\n */\r\nclass UserData {\r\n /**\r\n * Username\r\n */\r\n public username: string;\r\n\r\n /**\r\n * Email\r\n */\r\n public email: string;\r\n\r\n /**\r\n * Password\r\n */\r\n public password: string;\r\n\r\n /**\r\n * Firstname\r\n */\r\n public salutation: string;\r\n\r\n /**\r\n * Firstname\r\n */\r\n public firstname: string;\r\n\r\n /**\r\n * Lastname\r\n */\r\n public lastname: string;\r\n \r\n /**\r\n * Company name\r\n */\r\n public companyName: string;\r\n \r\n /**\r\n * Company street\r\n */\r\n public companyStreet: string;\r\n \r\n /**\r\n * Company postal code\r\n */\r\n public companyPostalCode: string;\r\n \r\n /**\r\n * Company city\r\n */\r\n public companyCity: string;\r\n\r\n /**\r\n * Company country\r\n */\r\n public companyCountry: string;\r\n\r\n /**\r\n * Max session count\r\n */\r\n public maxSessionCount: number | null;\r\n\r\n /**\r\n * IP Address\r\n */\r\n public ipAddress: string;\r\n\r\n /**\r\n * Constructor\r\n */\r\n public constructor() {\r\n this.username = \"\";\r\n this.email = \"\";\r\n this.password = \"\";\r\n this.salutation = \"\";\r\n this.firstname = \"\";\r\n this.lastname = \"\";\r\n this.companyName = \"\";\r\n this.companyStreet = \"\";\r\n this.companyPostalCode = \"\";\r\n this.companyCity = \"\";\r\n this.companyCountry = \"\";\r\n this.maxSessionCount = null;\r\n this.ipAddress = \"\";\r\n }\r\n\r\n /**\r\n * Assigns the user data from another user data object\r\n * @param userData User data to copy\r\n */\r\n public assignFromUserData(userData: UserData) {\r\n this.username = userData.username;\r\n this.email = userData.email;\r\n this.password = userData.password;\r\n this.salutation = userData.salutation;\r\n this.firstname = userData.firstname;\r\n this.lastname = userData.lastname;\r\n this.companyName = userData.companyName;\r\n this.companyStreet = userData.companyStreet;\r\n this.companyPostalCode = userData.companyPostalCode;\r\n this.companyCity = userData.companyCity;\r\n this.companyCountry = userData.companyCountry;\r\n this.maxSessionCount = userData.maxSessionCount;\r\n this.ipAddress = userData.ipAddress;\r\n }\r\n}\r\n\r\nexport default UserData;","import UserData from \"../../../../dto/account/UserData\";\r\n\r\n/**\r\n * User Data form state class\r\n */\r\nclass UserDataFormState {\r\n /**\r\n * User data\r\n */\r\n public userData: UserData;\r\n\r\n /**\r\n * Password repeat data\r\n */\r\n public repeatPassword: string;\r\n\r\n /**\r\n * true if error messages should be shown on empty\r\n */\r\n public showErrorMessage: boolean;\r\n\r\n /**\r\n * Constructor\r\n */\r\n public constructor() {\r\n this.userData = new UserData();\r\n this.repeatPassword = \"\";\r\n this.showErrorMessage = false;\r\n }\r\n}\r\n\r\nexport default UserDataFormState;","/**\r\n * Returns true if a string is a valid email adress\r\n * @param mail String to test\r\n * @returns true if a string is a valid email adress, else false\r\n */\r\nfunction isValidEmail(mail: string): boolean {\r\n let regex = /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/i;\r\n return regex.test(mail);\r\n}\r\n\r\nexport default isValidEmail;\r\n","import React, { ReactNode, FormEvent } from 'react';\r\n\r\n// Library\r\nimport { ColorClassNames, Dropdown, TextField, FontClassNames, IDropdownOption, FontWeights } from 'office-ui-fabric-react';\r\nimport { TFunction } from 'i18next';\r\n\r\n// Components\r\nimport TranslatedComponent from '../../../localization/TranslatedComponent';\r\n\r\n// Dto\r\nimport IUserDataFormProps from './dto/IUserDataFormProps';\r\nimport UserDataFormState from './dto/UserDataFormState';\r\nimport UserData from '../../../dto/account/UserData';\r\n\r\n\r\n// Util\r\nimport isValidEmail from './../../../util/IsValidEmail';\r\n\r\n/**\r\n * User Data Component\r\n */\r\nclass UserDataForm extends TranslatedComponent {\r\n /**\r\n * Empty ip address\r\n */\r\n private readonly emptyIpAddress: string = \"___.___.___.___\";\r\n\r\n /**\r\n * Constructor\r\n * @param props Input props\r\n */\r\n public constructor(props: Readonly) {\r\n super(props);\r\n\r\n let state = new UserDataFormState();\r\n this.state = state;\r\n }\r\n\r\n /**\r\n * Gets called once the component is mounted, copies pre existing user data\r\n */\r\n public componentDidUpdate(prevProps: IUserDataFormProps) {\r\n if(this.props.existingUserData !== null && prevProps.existingUserData === null) {\r\n let newUserData = new UserData();\r\n newUserData.assignFromUserData(this.props.existingUserData);\r\n\r\n this.setState({\r\n userData: newUserData\r\n })\r\n }\r\n }\r\n\r\n /**\r\n * Renders the header\r\n */\r\n protected renderWithTranslation(t: TFunction): ReactNode {\r\n const options: IDropdownOption[] = [\r\n { key: 'herr', text: t(\"userDataForm.man\") },\r\n { key: 'frau', text: t(\"userDataForm.women\") },\r\n { key: 'divers', text: t(\"userDataForm.diverse\") }\r\n ];\r\n\r\n return (\r\n
\r\n { this.onUserFieldChanged((r, v) => { r.salutation = v }, val ? val.text : \"\"); }} \r\n errorMessage={this.getMandatoryErrorMessage(t, this.state.userData.salutation)}\r\n />\r\n\r\n { this.onUserFieldChanged((r, v) => { r.firstname = v }, val); }} value={this.state.userData.firstname} label={t(\"userDataForm.firstname\")} required={true}>\r\n { this.onUserFieldChanged((r, v) => { r.lastname = v }, val); }} value={this.state.userData.lastname} label={t(\"userDataForm.lastname\")} required={true}>\r\n\r\n {!this.props.hideLoginFields && { this.onUserFieldChanged((r, v) => { r.email = v }, val); }} value={this.state.userData.email} label={t(\"userDataForm.email\")} required={true}>}\r\n {!this.props.hideLoginFields && { this.onUserFieldChanged((r, v) => { r.password = v }, val); }} value={this.state.userData.password} label={t(\"userDataForm.password\")} required={this.props.existingUserData === null} description={this.props.existingUserData !== null ? t(\"userDataForm.leavePasswordBlankToKeepOld\") : undefined}>}\r\n {!this.props.hideLoginFields && }\r\n {!this.props.hideUsername && { this.onUserFieldChanged((r, v) => { r.username = v }, val); }} value={this.state.userData.username} label={t(\"userDataForm.username\")} required={false} description={t(\"userDataForm.onEmptyUsernameEmailWillBeUsed\")}>}\r\n\r\n

{t(\"userDataForm.companyData\")}

\r\n { this.onUserFieldChanged((r, v) => { r.companyName = v }, val); }} value={this.state.userData.companyName} label={t(\"userDataForm.companyName\")}>\r\n { this.onUserFieldChanged((r, v) => { r.companyStreet = v }, val); }} value={this.state.userData.companyStreet} label={t(\"userDataForm.companyStreet\")}>\r\n { this.onUserFieldChanged((r, v) => { r.companyPostalCode = v }, val); }} value={this.state.userData.companyPostalCode} label={t(\"userDataForm.companyPostalCode\")}>\r\n { this.onUserFieldChanged((r, v) => { r.companyCity = v }, val); }} value={this.state.userData.companyCity} label={t(\"userDataForm.companyCity\")}>\r\n { this.onUserFieldChanged((r, v) => { r.companyCountry = v }, val); }} value={this.state.userData.companyCountry} label={t(\"userDataForm.companyCountry\")}>\r\n {!this.props.hideMiscFields &&

{t(\"userDataForm.miscHeader\")}

}\r\n {!this.props.hideMiscFields && { this.onUserFieldChanged((r, v) => { r.maxSessionCount = !isNaN(parseInt(v)) ? parseInt(v) : null }, val); }} value={this.state.userData.maxSessionCount ? this.state.userData.maxSessionCount.toString() : \"\"} label={t(\"userDataForm.maxSessionCount\")}>}\r\n {!this.props.hideIpAuthFields &&

{t(\"userDataForm.ipAuthHeader\")}

}\r\n {!this.props.hideIpAuthFields && { this.onUserFieldChanged((r, v) => { r.ipAddress = v }, val); }} value={this.state.userData.ipAddress} label={t(\"userDataForm.ipAddress\")} errorMessage={this.getIpErrorMessage(t)}>}\r\n
\r\n );\r\n }\r\n\r\n /**\r\n * Returns the error message for a mandatory field\r\n * @param t Translate function\r\n * @param val Value of the fields\r\n * @returns Error message\r\n */\r\n private getMandatoryErrorMessage = (t: TFunction, val: string): string => {\r\n if (!this.state.showErrorMessage || val) {\r\n return \"\";\r\n }\r\n\r\n return t(\"general.mandatoryField\");\r\n }\r\n\r\n /**\r\n * Returns the error for the password repeat\r\n * @param t Translate function\r\n * @returns Error message\r\n */\r\n private getPasswordRepeatErrorMessage(t: TFunction): string {\r\n if (!this.state.showErrorMessage || this.state.userData.password === this.state.repeatPassword) {\r\n return \"\";\r\n }\r\n\r\n return t(\"general.passwordsDoNotMatch\");\r\n }\r\n\r\n /**\r\n * Returns an error message if an invalid email address is provided\r\n * @param t Translate function\r\n * @returns Error message\r\n */\r\n private getEmailErrorMessage(t: TFunction): string {\r\n if (!this.state.showErrorMessage || !this.state.userData.email) {\r\n return \"\";\r\n }\r\n\r\n return !isValidEmail(this.state.userData.email) ? t(\"general.invalidEmail\") : \"\";\r\n }\r\n\r\n /**\r\n * Returns the IP error message\r\n * @param t Translate function\r\n * @returns IP error message\r\n */\r\n private getIpErrorMessage(t:TFunction): string | undefined {\r\n if(!this.state.showErrorMessage || !this.state.userData.ipAddress)\r\n {\r\n return \"\";\r\n }\r\n\r\n let isIpValid = this.validateIp(this.state.userData.ipAddress);\r\n if(isIpValid) {\r\n return \"\";\r\n }\r\n \r\n return t(\"userDataForm.enterValidIpAddress\");\r\n }\r\n\r\n /**\r\n * Validates if an ip value is valid\r\n * @param ip Value to validate\r\n */\r\n private validateIp(ip: string): boolean {\r\n if(!ip) {\r\n return true;\r\n }\r\n\r\n let ipAddresses = ip.split(\",\");\r\n for(let ipAddress of ipAddresses) {\r\n let ipValueParts = ipAddress.split(\"-\");\r\n if(ipValueParts.length > 2)\r\n {\r\n return false;\r\n }\r\n\r\n for(let ipValue of ipValueParts) {\r\n let ipAddressSplitted = ipValue.split(\".\");\r\n if(ipAddressSplitted.length !== 4)\r\n {\r\n return false;\r\n }\r\n\r\n for(let curIpAddressPart of ipAddressSplitted) {\r\n let ipPart = parseInt(curIpAddressPart);\r\n if(isNaN(ipPart) || ipPart < 0 || ipPart > 255)\r\n {\r\n return false;\r\n }\r\n }\r\n }\r\n }\r\n\r\n return true;\r\n }\r\n\r\n /**\r\n * Handles the change of a user field value\r\n * @param fieldName Fieldname\r\n * @param val New value of the field\r\n */\r\n private onUserFieldChanged = (setValueCallback: (r: UserData, val: string) => void, val: string | undefined) => {\r\n if (!val) {\r\n val = \"\";\r\n }\r\n\r\n let userData = new UserData();\r\n userData.assignFromUserData(this.state.userData);\r\n setValueCallback(userData, val);\r\n\r\n this.setState({\r\n userData: userData\r\n }, () => {\r\n this.props.onUserDataChanged(this.state.userData);\r\n });\r\n }\r\n\r\n /**\r\n * Returns the selected saluation key\r\n * @param options Selected salutation key\r\n * @returns Selected salutation key\r\n */\r\n private getSalutationSelectedKey(options: IDropdownOption[]): string | null {\r\n let option = options.find(o => o.text === this.state.userData.salutation);\r\n if(!option) {\r\n return null;\r\n }\r\n\r\n return option.key.toString();\r\n }\r\n\r\n /**\r\n * Sets the password repeat value\r\n * @param ev Event\r\n * @param newValue New value \r\n */\r\n private setPasswordRepeat = (ev: FormEvent, newValue?: string | undefined) => {\r\n if (!newValue) {\r\n newValue = \"\";\r\n }\r\n\r\n this.setState({\r\n repeatPassword: newValue\r\n });\r\n }\r\n\r\n /**\r\n * Validates if the form is valid\r\n * @returns true if the form is valid, else false\r\n */\r\n public validate = (): boolean => {\r\n if ((!this.props.hideLoginFields && (!this.props.existingUserData || this.state.userData.password) && this.state.userData.password !== this.state.repeatPassword) || (!this.props.hideLoginFields && (!this.state.userData.email || !isValidEmail(this.state.userData.email))) ||\r\n !this.state.userData.firstname || !this.state.userData.lastname || (!this.props.hideLoginFields && !this.props.existingUserData && !this.state.userData.password) || !this.state.userData.salutation ||\r\n (!this.props.hideIpAuthFields && !this.validateIp(this.state.userData.ipAddress))) {\r\n this.setState({\r\n showErrorMessage: true\r\n });\r\n return false;\r\n }\r\n \r\n this.setState({\r\n showErrorMessage: false\r\n });\r\n return true;\r\n }\r\n}\r\n\r\nexport default UserDataForm; ","import UserData from './UserData'\r\n\r\n/**\r\n * Register request data\r\n */\r\nclass RegisterRequest {\r\n /**\r\n * Email\r\n */\r\n public email: string;\r\n\r\n /**\r\n * Password\r\n */\r\n public password: string;\r\n\r\n /**\r\n * Firstname\r\n */\r\n public salutation: string;\r\n\r\n /**\r\n * Firstname\r\n */\r\n public firstname: string;\r\n\r\n /**\r\n * Lastname\r\n */\r\n public lastname: string;\r\n \r\n /**\r\n * Company name\r\n */\r\n public companyName: string;\r\n \r\n /**\r\n * Company street\r\n */\r\n public companyStreet: string;\r\n \r\n /**\r\n * Company postal code\r\n */\r\n public companyPostalCode: string;\r\n \r\n /**\r\n * Company city\r\n */\r\n public companyCity: string;\r\n\r\n /**\r\n * Company country\r\n */\r\n public companyCountry: string;\r\n\r\n /**\r\n * Captcha token\r\n */\r\n public captchaToken: string;\r\n\r\n /**\r\n * Constructor\r\n */\r\n public constructor() {\r\n this.email = \"\";\r\n this.password = \"\";\r\n this.salutation = \"\";\r\n this.firstname = \"\";\r\n this.lastname = \"\";\r\n this.companyName = \"\";\r\n this.companyStreet = \"\";\r\n this.companyPostalCode = \"\";\r\n this.companyCity = \"\";\r\n this.companyCountry = \"\";\r\n this.captchaToken = \"\";\r\n }\r\n\r\n /**\r\n * Assigns the user data from another user data object\r\n * @param userData User data to copy\r\n */\r\n public assignFromUserData(userData: UserData) {\r\n this.email = userData.email;\r\n this.password = userData.password;\r\n this.salutation = userData.salutation;\r\n this.firstname = userData.firstname;\r\n this.lastname = userData.lastname;\r\n this.companyName = userData.companyName;\r\n this.companyStreet = userData.companyStreet;\r\n this.companyPostalCode = userData.companyPostalCode;\r\n this.companyCity = userData.companyCity;\r\n this.companyCountry = userData.companyCountry;\r\n }\r\n\r\n /**\r\n * Clones the request\r\n * @returns Cloned request\r\n */\r\n public clone(): RegisterRequest {\r\n let clonedObj = new RegisterRequest();\r\n clonedObj.email = this.email;\r\n clonedObj.password = this.password;\r\n clonedObj.salutation = this.salutation;\r\n clonedObj.firstname = this.firstname;\r\n clonedObj.lastname = this.lastname;\r\n clonedObj.companyName = this.companyName;\r\n clonedObj.companyStreet = this.companyStreet;\r\n clonedObj.companyPostalCode = this.companyPostalCode;\r\n clonedObj.companyCity = this.companyCity;\r\n clonedObj.companyCountry = this.companyCountry;\r\n clonedObj.captchaToken = this.captchaToken;\r\n \r\n return clonedObj;\r\n }\r\n}\r\n\r\nexport default RegisterRequest;","import RegisterRequest from \"../../../dto/account/RegisterRequest\";\r\n\r\n/**\r\n * Register page state class\r\n */\r\nclass RegisterState {\r\n /**\r\n * Register Request\r\n */\r\n public registerRequest: RegisterRequest;\r\n\r\n /**\r\n * Password repeat data\r\n */\r\n public repeatPassword: string;\r\n\r\n /**\r\n * Captcha key\r\n */\r\n public captchaKey: string;\r\n\r\n /**\r\n * true if error messages should be shown on empty\r\n */\r\n public showErrorMessage: boolean;\r\n\r\n /**\r\n * true if the page is loading\r\n */\r\n public isLoading: boolean;\r\n\r\n /**\r\n * Request error message\r\n */\r\n public requestErrorMessage: string;\r\n\r\n /**\r\n * The account was created successfully\r\n */\r\n public accountWasCreated: boolean;\r\n\r\n /**\r\n * Constructor\r\n */\r\n public constructor() {\r\n this.registerRequest = new RegisterRequest();\r\n this.repeatPassword = \"\";\r\n this.captchaKey = \"\";\r\n this.showErrorMessage = false;\r\n this.isLoading = false;\r\n this.requestErrorMessage = \"\";\r\n this.accountWasCreated = false;\r\n }\r\n}\r\n\r\nexport default RegisterState;","/**\r\n * Response send for the current user data\r\n */\r\nclass CurrentUserDataResponse {\r\n /**\r\n * Email of the current user\r\n */\r\n public email: string;\r\n\r\n /**\r\n * Firstname\r\n */\r\n public salutation: string;\r\n\r\n /**\r\n * Firstname\r\n */\r\n public firstname: string;\r\n\r\n /**\r\n * Lastname\r\n */\r\n public lastname: string;\r\n \r\n /**\r\n * Company name\r\n */\r\n public companyName: string;\r\n \r\n /**\r\n * Company street\r\n */\r\n public companyStreet: string;\r\n \r\n /**\r\n * Company postal code\r\n */\r\n public companyPostalCode: string;\r\n \r\n /**\r\n * Company city\r\n */\r\n public companyCity: string;\r\n\r\n /**\r\n * Company country\r\n */\r\n public companyCountry: string;\r\n\r\n /**\r\n * Constructor\r\n */\r\n public constructor() {\r\n this.email = \"\";\r\n this.salutation = \"\";\r\n this.firstname = \"\";\r\n this.lastname = \"\";\r\n this.companyName = \"\";\r\n this.companyStreet = \"\";\r\n this.companyPostalCode = \"\";\r\n this.companyCity = \"\";\r\n this.companyCountry = \"\";\r\n }\r\n}\r\n\r\nexport default CurrentUserDataResponse;","import mockLoadingTime from './../../util/MockLoadingTime';\r\nimport RegisterRequest from '../../dto/account/RegisterRequest';\r\nimport ResetPasswordRequest from '../../dto/account/ResetPasswordRequest';\r\nimport SetNewPasswordRequest from '../../dto/account/SetNewPasswordRequest';\r\nimport ChangePasswordRequest from '../../dto/account/ChangePasswordRequest';\r\nimport UpdateUserDataRequest from '../../dto/account/UpdateUserDataRequest';\r\nimport CurrentUserDataResponse from '../../dto/account/CurrentUserDataResponse';\r\nimport IAccountService from './IAccount.service';\r\n\r\n/**\r\n * Mock account services\r\n */\r\nclass MockAccountService implements IAccountService {\r\n /**\r\n * Registers a new user\r\n * @param registerRequest Register request\r\n * @returns Promise\r\n */\r\n public async register(registerRequest: RegisterRequest): Promise {\r\n await mockLoadingTime();\r\n }\r\n \r\n /**\r\n * Resets the password for a user\r\n * @param resetRequest Reset request\r\n * @returns Promise\r\n */\r\n public async resetPassword(resetRequest: ResetPasswordRequest): Promise {\r\n await mockLoadingTime();\r\n }\r\n \r\n /**\r\n * Sets the new password for a user\r\n * @param setNewPasswordRequest New password request\r\n * @returns Promise\r\n */\r\n public async setNewPassword(setNewPasswordRequest: SetNewPasswordRequest): Promise {\r\n await mockLoadingTime();\r\n }\r\n\r\n /**\r\n * Changes the password for a user\r\n * @param changePasswordRequest Change password request\r\n * @returns Promise\r\n */\r\n public async changePassword(changePasswordRequest: ChangePasswordRequest): Promise {\r\n await mockLoadingTime();\r\n }\r\n\r\n /**\r\n * Returns the current user data\r\n * @returns Current user data\r\n */\r\n public async getCurrentUserData(): Promise {\r\n await mockLoadingTime();\r\n\r\n let userResponse: CurrentUserDataResponse = new CurrentUserDataResponse();\r\n userResponse.email = \"maria.mock@mockingbird.local\";\r\n userResponse.salutation = \"Frau\";\r\n userResponse.firstname = \"Maria\";\r\n userResponse.lastname = \"Mock\";\r\n\r\n userResponse.companyName = \"Mocking Mariachis\";\r\n userResponse.companyStreet = \"Mock Street 13\";\r\n userResponse.companyCity = \"Mexico City\";\r\n userResponse.companyPostalCode = \"16999\";\r\n userResponse.companyCountry = \"Mexiko\";\r\n\r\n return userResponse;\r\n }\r\n\r\n /**\r\n * Updates the user data\r\n * @param updateUserDataRequest Update user data request\r\n * @returns Promise\r\n */\r\n public async updateUserData(updateUserDataRequest: UpdateUserDataRequest): Promise {\r\n await mockLoadingTime();\r\n }\r\n}\r\n\r\nexport default MockAccountService;","import TrackedHttpClient from './../trackedHttpClient/TrackedHttpClient.service';\r\nimport RegisterRequest from '../../dto/account/RegisterRequest';\r\nimport ResetPasswordRequest from '../../dto/account/ResetPasswordRequest';\r\nimport SetNewPasswordRequest from '../../dto/account/SetNewPasswordRequest';\r\nimport ChangePasswordRequest from '../../dto/account/ChangePasswordRequest';\r\nimport UpdateUserDataRequest from '../../dto/account/UpdateUserDataRequest';\r\nimport CurrentUserDataResponse from '../../dto/account/CurrentUserDataResponse';\r\nimport IAccountService from './IAccount.service';\r\n\r\n/**\r\n * Web account services\r\n */\r\nclass WebAccountService implements IAccountService {\r\n /**\r\n * Registers a new user\r\n * @param registerRequest Register request\r\n * @returns Promise\r\n */\r\n public async register(registerRequest: RegisterRequest): Promise {\r\n await TrackedHttpClient.post(\"/api/account/register\", registerRequest);\r\n }\r\n \r\n /**\r\n * Resets the password for a user\r\n * @param resetRequest Reset request\r\n * @returns Promise\r\n */\r\n public async resetPassword(resetRequest: ResetPasswordRequest): Promise {\r\n await TrackedHttpClient.post(\"/api/account/resetPassword\", resetRequest);\r\n }\r\n\r\n /**\r\n * Sets the new password for a user\r\n * @param setNewPasswordRequest New password request\r\n * @returns Promise\r\n */\r\n public async setNewPassword(setNewPasswordRequest: SetNewPasswordRequest): Promise {\r\n await TrackedHttpClient.post(\"/api/account/setNewPassword\", setNewPasswordRequest);\r\n }\r\n\r\n /**\r\n * Changes the password for a user\r\n * @param changePasswordRequest Change password request\r\n * @returns Promise\r\n */\r\n public async changePassword(changePasswordRequest: ChangePasswordRequest): Promise {\r\n await TrackedHttpClient.post(\"/api/account/changePassword\", changePasswordRequest);\r\n }\r\n\r\n /**\r\n * Returns the current user data\r\n * @returns Current user data\r\n */\r\n public async getCurrentUserData(): Promise {\r\n return await TrackedHttpClient.get(\"/api/account/currentUserData\");\r\n }\r\n\r\n /**\r\n * Updates the user data\r\n * @param updateUserDataRequest Update user data request\r\n * @returns Promise\r\n */\r\n public async updateUserData(updateUserDataRequest: UpdateUserDataRequest): Promise {\r\n await TrackedHttpClient.post(\"/api/account/updateUserData\", updateUserDataRequest);\r\n }\r\n}\r\n\r\nexport default WebAccountService;","// Util\r\nimport isDevMode from './../../util/IsDevMode';\r\n\r\n// Services\r\nimport IAccountService from './IAccount.service';\r\nimport MockAccountService from './MockAccount.service';\r\nimport WebAccountService from './WebAccount.service';\r\n\r\n/**\r\n * Factory class to provide account services\r\n */\r\nexport default class AccountFactory {\r\n /**\r\n * Returns the account service\r\n * @returns Account service\r\n */\r\n public static getAccountService(): IAccountService {\r\n if (isDevMode()) {\r\n return new MockAccountService();\r\n }\r\n\r\n return new WebAccountService();\r\n }\r\n}","/**\r\n * Scrolls to the top of the page\r\n */\r\nfunction scrollToTop(): void {\r\n window.scrollTo(0, 0);\r\n}\r\n\r\nexport default scrollToTop;\r\n","import React, { ReactNode } from 'react';\r\n\r\n// Library\r\nimport { TFunction } from 'i18next';\r\nimport { ColorClassNames, PrimaryButton, FontClassNames, FontWeights, Spinner, SpinnerSize, Label, MessageBar, MessageBarType } from 'office-ui-fabric-react';\r\nimport 'office-ui-fabric-core/dist/css/fabric.min.css';\r\nimport { Link } from 'react-router-dom';\r\nimport ReCAPTCHA from 'react-google-recaptcha';\r\n\r\n// Components\r\nimport TranslatedComponent from '../../localization/TranslatedComponent';\r\nimport UserDataForm from './../shared/userDataForm/UserDataForm';\r\nimport styles from './Register.module.css';\r\n\r\n// Services\r\n\r\n// Dto\r\nimport IRegisterProps from './dto/IRegisterProps';\r\nimport RegisterState from './dto/RegisterState';\r\nimport AccountFactory from '../../services/account/AccountFactory.service';\r\n\r\n// Util\r\nimport scrollToTop from './../../util/ScrollToTop';\r\nimport UserData from '../../dto/account/UserData';\r\n\r\n/**\r\n * Register Component\r\n */\r\nclass Register extends TranslatedComponent {\r\n /**\r\n * Recaptcha ref\r\n */\r\n private recaptchaRef: ReCAPTCHA | null = null;\r\n\r\n /**\r\n * User Data form ref\r\n */\r\n private userDataFormRef: UserDataForm | null = null;\r\n\r\n /**\r\n * Constructor\r\n * @param props Input props\r\n */\r\n public constructor(props: Readonly) {\r\n super(props);\r\n\r\n let state = new RegisterState();\r\n\r\n let configObject: any = (window as any)[\"VulkanVerlag\"];\r\n if (configObject && configObject.Config && configObject.Config.CaptchaKey) {\r\n state.captchaKey = configObject.Config.CaptchaKey;\r\n }\r\n\r\n this.state = state;\r\n }\r\n\r\n /**\r\n * Renders the register component\r\n */\r\n protected renderWithTranslation(t: TFunction): ReactNode {\r\n return (\r\n
\r\n

{t(\"register.header\")}

\r\n {!this.state.accountWasCreated ?\r\n this.renderRegisterForm(t) :\r\n this.renderRegisterSuccess(t)}\r\n
\r\n );\r\n }\r\n\r\n /**\r\n * Renders the register form\r\n * @param t Translate Function\r\n * @returns Register form\r\n */\r\n private renderRegisterForm = (t: TFunction): ReactNode => {\r\n return (\r\n
\r\n {this.renderRequestErrorOccured(t)}\r\n \r\n this.userDataFormRef = r } hideUsername={true} hideMiscFields={true} hideIpAuthFields={true} hideLoginFields={false}>\r\n
\r\n {this.state.captchaKey ? this.recaptchaRef = r} sitekey={this.state.captchaKey} onChange={this.onCaptchaValidated} onExpired={this.resetCaptcha} onErrored={this.resetCaptcha} hl={t(\"general.repatchaLocale\")} /> : \"CAPTCHA NOT SHOWN IN SERVE MODE\"}\r\n {(this.state.showErrorMessage && this.state.captchaKey && !this.state.registerRequest.captchaToken) &&\r\n }\r\n
\r\n \r\n {this.state.isLoading && }\r\n {t(\"register.register\")}\r\n \r\n
\r\n )\r\n }\r\n\r\n /**\r\n * Renders a message that a request error occured\r\n * @param t Translate function\r\n */\r\n private renderRequestErrorOccured = (t: TFunction): ReactNode => {\r\n if (!this.state.requestErrorMessage) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n {t(`general.error.${this.state.requestErrorMessage}`)}\r\n \r\n )\r\n }\r\n\r\n /**\r\n * Renders the register success\r\n * @param t Translate Function\r\n * @returns Register success\r\n */\r\n private renderRegisterSuccess = (t: TFunction): ReactNode => {\r\n return (\r\n
\r\n

{t(\"register.successMessage\")}

\r\n {t(\"register.loginMessage\")}\r\n
\r\n )\r\n }\r\n\r\n /**\r\n * Removes the request error banner\r\n */\r\n private removeRequestErrorBanner = () => {\r\n this.setState({\r\n requestErrorMessage: \"\"\r\n });\r\n }\r\n\r\n /**\r\n * Gets called if the user validates the captcha\r\n * @param token Captcha token that was validated\r\n */\r\n private onCaptchaValidated = (token: string | null): void => {\r\n let registerRequest = this.state.registerRequest.clone();\r\n registerRequest.captchaToken = token ? token : \"\";\r\n\r\n this.setState({\r\n registerRequest: registerRequest\r\n })\r\n }\r\n\r\n /**\r\n * Resets the captcha value\r\n */\r\n private resetCaptcha = (): void => {\r\n let registerRequest = this.state.registerRequest.clone();\r\n registerRequest.captchaToken = \"\";\r\n\r\n this.setState({\r\n registerRequest: registerRequest\r\n })\r\n }\r\n\r\n /**\r\n * Gets called if the user data is changed\r\n */\r\n private onUserDataChanged = (u: UserData): void => {\r\n let registerRequest = this.state.registerRequest.clone();\r\n registerRequest.assignFromUserData(u);\r\n\r\n this.setState({\r\n registerRequest: registerRequest\r\n })\r\n }\r\n\r\n /**\r\n * Sends a register request\r\n */\r\n private register = async () => {\r\n if(!this.userDataFormRef) {\r\n return;\r\n }\r\n\r\n if (!this.userDataFormRef.validate() || (this.state.captchaKey && !this.state.registerRequest.captchaToken)) {\r\n this.setState({\r\n showErrorMessage: true\r\n });\r\n return;\r\n }\r\n\r\n this.setState({\r\n showErrorMessage: false,\r\n isLoading: true,\r\n requestErrorMessage: \"\"\r\n });\r\n try {\r\n await AccountFactory.getAccountService().register(this.state.registerRequest);\r\n this.setState({\r\n isLoading: false,\r\n accountWasCreated: true\r\n });\r\n }\r\n catch (e) {\r\n let errorMessage = \"generic\";\r\n if (e.response && e.response.status < 500 && e.response.data && e.response.data.message) {\r\n errorMessage = e.response.data.message;\r\n }\r\n this.setState({\r\n isLoading: false,\r\n requestErrorMessage: errorMessage\r\n });\r\n\r\n scrollToTop();\r\n\r\n if (this.recaptchaRef) {\r\n this.recaptchaRef.reset();\r\n }\r\n }\r\n }\r\n}\r\n\r\nexport default Register; ","/**\r\n * ConfirmMail page state class\r\n */\r\nclass ConfirmMailState {\r\n /**\r\n * true if the mail could be confirmed, else false\r\n */\r\n public couldConfirmMail: boolean;\r\n\r\n /**\r\n * Constructor\r\n */\r\n public constructor()\r\n {\r\n this.couldConfirmMail = false;\r\n }\r\n}\r\n\r\nexport default ConfirmMailState;","import React, { ReactNode } from 'react';\r\n\r\n// Library\r\nimport { TFunction } from 'i18next';\r\nimport { ColorClassNames, FontWeights, FontClassNames } from 'office-ui-fabric-react';\r\nimport 'office-ui-fabric-core/dist/css/fabric.min.css';\r\nimport { Link } from 'react-router-dom';\r\n\r\n// Components\r\nimport TranslatedComponent from '../../localization/TranslatedComponent';\r\nimport styles from './ConfirmMail.module.css';\r\n\r\n// Services\r\n\r\n// Dto\r\nimport IConfirmMailProps from './dto/IConfirmMailProps';\r\nimport ConfirmMailState from './dto/ConfirmMailState';\r\n\r\n/**\r\n * Confirm Mail Component\r\n */\r\nclass ConfirmMail extends TranslatedComponent {\r\n /**\r\n * Constructor\r\n * @param props Input props\r\n */\r\n public constructor(props: Readonly) {\r\n super(props);\r\n\r\n let state = new ConfirmMailState();\r\n\r\n let configObject: any = (window as any)[\"VulkanVerlag\"];\r\n if (configObject && configObject.Config && configObject.Config.AdditionalConfig && configObject.Config.AdditionalConfig.CouldConfirmMail) {\r\n state.couldConfirmMail = true;\r\n }\r\n\r\n this.state = state;\r\n }\r\n\r\n /**\r\n * Renders the confirm mail component\r\n * @param t Translate function\r\n * @returns Rendered component\r\n */\r\n protected renderWithTranslation(t: TFunction): ReactNode {\r\n return (\r\n
\r\n

{t(\"confirmMail.header\")}

\r\n {this.state.couldConfirmMail ? this.renderSuccessMessage(t) : this.renderFailMessage(t)}\r\n
\r\n );\r\n }\r\n\r\n /**\r\n * Renders a success message\r\n * @param t Translate function\r\n * @returns Rendered message\r\n */\r\n private renderSuccessMessage = (t: TFunction): ReactNode => {\r\n return (\r\n
\r\n

{t(\"confirmMail.successMessage\")}

\r\n {t(\"confirmMail.loginMessage\")}\r\n
\r\n );\r\n }\r\n\r\n /**\r\n * Renders a fail message\r\n * @param t Translate function\r\n * @returns Rendered message\r\n */\r\n private renderFailMessage = (t: TFunction): ReactNode => {\r\n return (\r\n
\r\n

{t(\"confirmMail.failMessage\")}

\r\n {t(\"confirmMail.registerMessage\")}\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default ConfirmMail; ","/**\r\n * Set new password request\r\n */\r\nclass SetNewPasswordRequest {\r\n /**\r\n * User Id for which the password must be reset\r\n */\r\n public userId: string;\r\n\r\n /**\r\n * Password reset code\r\n */\r\n public code: string;\r\n\r\n /**\r\n * New Password\r\n */\r\n public password: string;\r\n\r\n /**\r\n * Constructor\r\n */\r\n public constructor() {\r\n this.userId = \"\";\r\n this.code = \"\";\r\n this.password = \"\";\r\n }\r\n}\r\n\r\nexport default SetNewPasswordRequest;","import SetNewPasswordRequest from './../../../dto/account/SetNewPasswordRequest';\r\n\r\n/**\r\n * Set new password page state class\r\n */\r\nclass SetNewPasswordState {\r\n /**\r\n * Request to set the new password\r\n */\r\n public setNewPasswordRequest: SetNewPasswordRequest;\r\n\r\n /**\r\n * Repeat of the new password\r\n */\r\n public repeatNewPassword: string;\r\n\r\n /**\r\n * true if error messages should be shown on empty\r\n */\r\n public showErrorMessage: boolean;\r\n\r\n /**\r\n * true if the page is loading\r\n */\r\n public isLoading: boolean;\r\n\r\n /**\r\n * Error message that was returned from the server when setting a new password\r\n */\r\n public setNewPasswordError: string;\r\n\r\n /**\r\n * true if the new password could be set\r\n */\r\n public couldSetNewPassword: boolean;\r\n\r\n /**\r\n * Constructor\r\n */\r\n public constructor()\r\n {\r\n this.setNewPasswordRequest = new SetNewPasswordRequest();\r\n this.repeatNewPassword = \"\"; \r\n this.showErrorMessage = false;\r\n this.isLoading = false;\r\n this.setNewPasswordError = \"\";\r\n this.couldSetNewPassword = false;\r\n }\r\n}\r\n\r\nexport default SetNewPasswordState;","/**\r\n * Returns the value of an url parameter\r\n * @param parameterName Name of the parameter to read\r\n * @returns Parameter value\r\n */\r\nfunction getUrlParameter(parameterName: string) {\r\n let url = new URL(window.location.href);\r\n let result = url.searchParams.get(parameterName)\r\n if (result) {\r\n return result;\r\n } else {\r\n return \"\";\r\n }\r\n}\r\n\r\nexport default getUrlParameter;","import React, { ReactNode } from 'react';\r\n\r\n// Library\r\nimport { TFunction } from 'i18next';\r\nimport { ColorClassNames, FontClassNames, FontWeights, TextField, PrimaryButton, Spinner, SpinnerSize, MessageBar, MessageBarType } from 'office-ui-fabric-react';\r\nimport 'office-ui-fabric-core/dist/css/fabric.min.css';\r\nimport { Link } from 'react-router-dom';\r\n\r\n// Components\r\nimport TranslatedComponent from '../../localization/TranslatedComponent';\r\nimport styles from './SetNewPassword.module.css';\r\n\r\n// Services\r\n\r\n// Dto\r\nimport ISetNewPasswordProps from './dto/ISetNewPasswordProps';\r\nimport SetNewPasswordState from './dto/SetNewPasswordState';\r\nimport SetNewPasswordRequest from '../../dto/account/SetNewPasswordRequest';\r\nimport AccountFactory from '../../services/account/AccountFactory.service';\r\n\r\n// Util\r\nimport getUrlParameter from '../../util/GetUrlParameter';\r\n\r\n/**\r\n * Set new password Component\r\n */\r\nclass SetNewPassword extends TranslatedComponent {\r\n /**\r\n * Constructor\r\n * @param props Input props\r\n */\r\n public constructor(props: Readonly) {\r\n super(props);\r\n\r\n let state = new SetNewPasswordState();\r\n state.setNewPasswordRequest.userId = getUrlParameter(\"userId\");\r\n state.setNewPasswordRequest.code = getUrlParameter(\"code\");\r\n\r\n this.state = state;\r\n }\r\n\r\n /**\r\n * Renders the set new password mail component\r\n * @param t Translate function\r\n * @returns Rendered component\r\n */\r\n protected renderWithTranslation(t: TFunction): ReactNode {\r\n return (\r\n
\r\n

{t(\"setNewPassword.header\")}

\r\n {!this.state.couldSetNewPassword ? this.renderSetNewPasswordForm(t) : this.renderSuccessMessage(t)}\r\n
\r\n );\r\n }\r\n\r\n /**\r\n * Renders the set new password form\r\n * @param t Translate function\r\n * @returns Rendered message\r\n */\r\n private renderSetNewPasswordForm = (t: TFunction): ReactNode => {\r\n return (\r\n
\r\n {this.renderRequestErrorOccured(t)}\r\n \r\n \r\n

\r\n \r\n {this.state.isLoading && }\r\n {t(\"setNewPassword.updatePassword\")}\r\n \r\n

\r\n
\r\n );\r\n }\r\n\r\n /**\r\n * Renders a message that a request error occured\r\n * @param t Translate function\r\n */\r\n private renderRequestErrorOccured = (t: TFunction): ReactNode => {\r\n if (!this.state.setNewPasswordError) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n {t(`general.error.${this.state.setNewPasswordError}`)}\r\n \r\n )\r\n }\r\n\r\n /**\r\n * Renders a success message\r\n * @param t Translate function\r\n * @returns Rendered message\r\n */\r\n private renderSuccessMessage = (t: TFunction): ReactNode => {\r\n return (\r\n
\r\n

{t(\"setNewPassword.successMessage\")}

\r\n {t(\"setNewPassword.loginMessage\")}\r\n
\r\n );\r\n }\r\n\r\n /**\r\n * Removes the request error banner\r\n */\r\n private removeRequestErrorBanner = () => {\r\n this.setState({\r\n setNewPasswordError: \"\"\r\n });\r\n }\r\n\r\n /**\r\n * Returns an error message if an invalid new password is provided\r\n * @param t Translate function\r\n * @returns Error message\r\n */\r\n private getNewPasswordErrorMessage = (t: TFunction): string => {\r\n if (this.state.showErrorMessage && !this.state.setNewPasswordRequest.password)\r\n {\r\n return t(\"general.mandatoryField\");\r\n }\r\n\r\n return \"\";\r\n }\r\n\r\n /**\r\n * Returns an error message if an invalid new password repeat is provided\r\n * @param t Translate function\r\n * @returns Error message\r\n */\r\n private getRepeatNewPasswordErrorMessage = (t: TFunction): string => {\r\n if (!this.state.showErrorMessage)\r\n {\r\n return \"\";\r\n }\r\n\r\n if(!this.state.repeatNewPassword)\r\n {\r\n return t(\"general.mandatoryField\");\r\n }\r\n\r\n return this.state.setNewPasswordRequest.password !== this.state.repeatNewPassword ? t(\"general.passwordsDoNotMatch\") : \"\";\r\n }\r\n\r\n /**\r\n * Callback if the new password was changed\r\n * @param _ev Event object\r\n * @param newValue New value of the textbox\r\n */\r\n private setNewPassword = (_ev: React.FormEvent, newValue?: string | undefined): void => {\r\n if(!newValue)\r\n {\r\n newValue = \"\";\r\n }\r\n\r\n let newPasswordRequest: SetNewPasswordRequest = { ...this.state.setNewPasswordRequest };\r\n newPasswordRequest.password = newValue;\r\n\r\n this.setState({\r\n setNewPasswordRequest: newPasswordRequest\r\n });\r\n }\r\n\r\n /**\r\n * Callback if the repeat password was changed\r\n * @param _ev Event object\r\n * @param newValue New value of the textbox\r\n */\r\n private setRepeatNewPassword = (_ev: React.FormEvent, newValue?: string | undefined): void => {\r\n if(!newValue)\r\n {\r\n newValue = \"\";\r\n }\r\n\r\n this.setState({\r\n repeatNewPassword: newValue\r\n });\r\n }\r\n \r\n /**\r\n * Gets called if the new password must be set\r\n */\r\n private onSetNewPassword = async (): Promise => {\r\n if(!this.state.setNewPasswordRequest.password || this.state.setNewPasswordRequest.password !== this.state.repeatNewPassword)\r\n {\r\n this.setState({\r\n showErrorMessage: true,\r\n isLoading: false\r\n });\r\n return;\r\n }\r\n \r\n this.setState({\r\n showErrorMessage: false,\r\n isLoading: true\r\n });\r\n\r\n try {\r\n await AccountFactory.getAccountService().setNewPassword(this.state.setNewPasswordRequest);\r\n \r\n this.setState({\r\n isLoading: false,\r\n couldSetNewPassword: true\r\n });\r\n }\r\n catch (e) {\r\n let errorMessage = \"generic\";\r\n if (e.response && e.response.status < 500 && e.response.data && e.response.data.message) {\r\n errorMessage = e.response.data.message;\r\n }\r\n\r\n if(errorMessage === \"invalidToken\") {\r\n errorMessage = \"invalidTokenResetPassword\";\r\n }\r\n\r\n this.setState({\r\n isLoading: false,\r\n setNewPasswordError: errorMessage\r\n });\r\n }\r\n }\r\n}\r\n\r\nexport default SetNewPassword; ","/**\r\n * Change password request\r\n */\r\nclass ChangePasswordRequest {\r\n /**\r\n * Old password\r\n */\r\n public oldPassword: string;\r\n\r\n /**\r\n * New Password\r\n */\r\n public newPassword: string;\r\n\r\n /**\r\n * Constructor\r\n */\r\n public constructor() {\r\n this.oldPassword = \"\";\r\n this.newPassword = \"\";\r\n }\r\n}\r\n\r\nexport default ChangePasswordRequest;","import ChangePasswordRequest from './../../../dto/account/ChangePasswordRequest';\r\n\r\n/**\r\n * Change password page state class\r\n */\r\nclass ChangePasswordState {\r\n /**\r\n * Request to set the new password\r\n */\r\n public changePasswordRequest: ChangePasswordRequest;\r\n\r\n /**\r\n * Repeat of the new password\r\n */\r\n public repeatNewPassword: string;\r\n\r\n /**\r\n * true if error messages should be shown on empty\r\n */\r\n public showErrorMessage: boolean;\r\n\r\n /**\r\n * true if the page is loading\r\n */\r\n public isLoading: boolean;\r\n\r\n /**\r\n * Error message that was returned from the server when setting a new password\r\n */\r\n public changePasswordError: string;\r\n\r\n /**\r\n * true if the new password could be set\r\n */\r\n public passwordWasChanged: boolean;\r\n\r\n /**\r\n * Constructor\r\n */\r\n public constructor()\r\n {\r\n this.changePasswordRequest = new ChangePasswordRequest();\r\n this.repeatNewPassword = \"\"; \r\n this.showErrorMessage = false;\r\n this.isLoading = false;\r\n this.changePasswordError = \"\";\r\n this.passwordWasChanged = false;\r\n }\r\n}\r\n\r\nexport default ChangePasswordState;","import React, { ReactNode } from 'react';\r\n\r\n// Library\r\nimport { TFunction } from 'i18next';\r\nimport { ColorClassNames, FontClassNames, FontWeights, TextField, PrimaryButton, Spinner, SpinnerSize, MessageBar, MessageBarType } from 'office-ui-fabric-react';\r\nimport 'office-ui-fabric-core/dist/css/fabric.min.css';\r\n\r\n// Components\r\nimport TranslatedComponent from '../../localization/TranslatedComponent';\r\nimport styles from './ChangePassword.module.css';\r\n\r\n// Services\r\n\r\n// Dto\r\nimport IChangePasswordProps from './dto/IChangePasswordProps';\r\nimport ChangePasswordState from './dto/ChangePasswordState';\r\nimport ChangePasswordRequest from '../../dto/account/ChangePasswordRequest';\r\nimport AccountFactory from '../../services/account/AccountFactory.service';\r\nimport { Redirect } from 'react-router-dom';\r\n\r\n/**\r\n * Change password Component\r\n */\r\nclass ChangePassword extends TranslatedComponent {\r\n /**\r\n * Constructor\r\n * @param props Input props\r\n */\r\n public constructor(props: Readonly) {\r\n super(props);\r\n\r\n this.state = new ChangePasswordState();\r\n }\r\n\r\n /**\r\n * Renders the change password component\r\n * @param t Translate function\r\n * @returns Rendered component\r\n */\r\n protected renderWithTranslation(t: TFunction): ReactNode {\r\n return (\r\n
\r\n {this.renderUnauthorizedRedirect()}\r\n

{t(\"changePassword.header\")}

\r\n {this.renderRequestErrorOccured(t)}\r\n {this.renderSuccessBanner(t)}\r\n \r\n \r\n \r\n

\r\n \r\n {this.state.isLoading && }\r\n {t(\"changePassword.updatePassword\")}\r\n \r\n

\r\n
\r\n );\r\n }\r\n\r\n /**\r\n * Renders a redirect if the current user is not logged in\r\n */\r\n private renderUnauthorizedRedirect = (): ReactNode => {\r\n if(this.props.currentUser && this.props.currentUser.isAuthenticated && !this.props.currentUser.isIpAuthenticated)\r\n {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n )\r\n }\r\n\r\n /**\r\n * Renders a message that the password was changed\r\n * @param t Translate function\r\n */\r\n private renderSuccessBanner = (t: TFunction): ReactNode => {\r\n if (!this.state.passwordWasChanged) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n {t(\"changePassword.passwordWasChanged\")}\r\n \r\n )\r\n }\r\n\r\n /**\r\n * Renders a message that a request error occured\r\n * @param t Translate function\r\n */\r\n private renderRequestErrorOccured = (t: TFunction): ReactNode => {\r\n if (!this.state.changePasswordError) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n {t(`general.error.${this.state.changePasswordError}`)}\r\n \r\n )\r\n }\r\n \r\n /**\r\n * Removes the success banner\r\n */\r\n private removeSuccessBanner = () => {\r\n this.setState({\r\n passwordWasChanged: false\r\n });\r\n }\r\n\r\n /**\r\n * Removes the request error banner\r\n */\r\n private removeRequestErrorBanner = () => {\r\n this.setState({\r\n changePasswordError: \"\"\r\n });\r\n }\r\n\r\n /**\r\n * Returns an error message if a mandatory field was not filled\r\n * @param t Translate function\r\n * @param value Value to check\r\n * @returns Error message\r\n */\r\n private getMandatoryFieldError = (t: TFunction, value: string): string => {\r\n if (this.state.showErrorMessage && !value)\r\n {\r\n return t(\"general.mandatoryField\");\r\n }\r\n\r\n return \"\";\r\n }\r\n\r\n /**\r\n * Returns an error message if an invalid new password repeat is provided\r\n * @param t Translate function\r\n * @returns Error message\r\n */\r\n private getRepeatNewPasswordErrorMessage = (t: TFunction): string => {\r\n if (!this.state.showErrorMessage)\r\n {\r\n return \"\";\r\n }\r\n\r\n if(!this.state.repeatNewPassword)\r\n {\r\n return t(\"general.mandatoryField\");\r\n }\r\n\r\n return this.state.changePasswordRequest.newPassword !== this.state.repeatNewPassword ? t(\"general.passwordsDoNotMatch\") : \"\";\r\n }\r\n\r\n /**\r\n * Callback if the old password was changed\r\n * @param _ev Event object\r\n * @param newValue New value of the textbox\r\n */\r\n private setOldPassword = (_ev: React.FormEvent, newValue?: string | undefined): void => {\r\n if(!newValue)\r\n {\r\n newValue = \"\";\r\n }\r\n\r\n let changePasswordRequest: ChangePasswordRequest = { ...this.state.changePasswordRequest };\r\n changePasswordRequest.oldPassword = newValue;\r\n\r\n this.setState({\r\n changePasswordRequest: changePasswordRequest\r\n });\r\n }\r\n\r\n /**\r\n * Callback if the new password was changed\r\n * @param _ev Event object\r\n * @param newValue New value of the textbox\r\n */\r\n private setNewPassword = (_ev: React.FormEvent, newValue?: string | undefined): void => {\r\n if(!newValue)\r\n {\r\n newValue = \"\";\r\n }\r\n\r\n let changePasswordRequest: ChangePasswordRequest = { ...this.state.changePasswordRequest };\r\n changePasswordRequest.newPassword = newValue;\r\n\r\n this.setState({\r\n changePasswordRequest: changePasswordRequest\r\n });\r\n }\r\n\r\n /**\r\n * Callback if the repeat password was changed\r\n * @param _ev Event object\r\n * @param newValue New value of the textbox\r\n */\r\n private setRepeatNewPassword = (_ev: React.FormEvent, newValue?: string | undefined): void => {\r\n if(!newValue)\r\n {\r\n newValue = \"\";\r\n }\r\n\r\n this.setState({\r\n repeatNewPassword: newValue\r\n });\r\n }\r\n \r\n /**\r\n * Gets called if the new password must be set\r\n */\r\n private onChangePassword = async (): Promise => {\r\n if(!this.state.changePasswordRequest.oldPassword || !this.state.changePasswordRequest.newPassword || \r\n this.state.changePasswordRequest.newPassword !== this.state.repeatNewPassword)\r\n {\r\n this.setState({\r\n showErrorMessage: true,\r\n isLoading: false,\r\n passwordWasChanged: false,\r\n changePasswordError: \"\"\r\n });\r\n return;\r\n }\r\n \r\n this.setState({\r\n showErrorMessage: false,\r\n isLoading: true,\r\n passwordWasChanged: false,\r\n changePasswordError: \"\"\r\n });\r\n\r\n try {\r\n await AccountFactory.getAccountService().changePassword(this.state.changePasswordRequest);\r\n \r\n this.setState({\r\n isLoading: false,\r\n passwordWasChanged: true\r\n });\r\n }\r\n catch (e) {\r\n let errorMessage = \"generic\";\r\n if (e.response && e.response.status < 500 && e.response.data && e.response.data.message) {\r\n errorMessage = e.response.data.message;\r\n }\r\n\r\n this.setState({\r\n isLoading: false,\r\n changePasswordError: errorMessage\r\n });\r\n }\r\n }\r\n}\r\n\r\nexport default ChangePassword; ","import UserData from \"./UserData\";\r\n\r\n/**\r\n * Update user data request\r\n */\r\nclass UpdateUserDataRequest {\r\n /**\r\n * Firstname\r\n */\r\n public salutation: string;\r\n\r\n /**\r\n * Firstname\r\n */\r\n public firstname: string;\r\n\r\n /**\r\n * Lastname\r\n */\r\n public lastname: string;\r\n \r\n /**\r\n * Company name\r\n */\r\n public companyName: string;\r\n \r\n /**\r\n * Company street\r\n */\r\n public companyStreet: string;\r\n \r\n /**\r\n * Company postal code\r\n */\r\n public companyPostalCode: string;\r\n \r\n /**\r\n * Company city\r\n */\r\n public companyCity: string;\r\n\r\n /**\r\n * Company country\r\n */\r\n public companyCountry: string;\r\n\r\n /**\r\n * Constructor\r\n */\r\n public constructor() {\r\n this.salutation = \"\";\r\n this.firstname = \"\";\r\n this.lastname = \"\";\r\n this.companyName = \"\";\r\n this.companyStreet = \"\";\r\n this.companyPostalCode = \"\";\r\n this.companyCity = \"\";\r\n this.companyCountry = \"\";\r\n }\r\n \r\n /**\r\n * Assigns the user data from another user data object\r\n * @param userData User data to copy\r\n */\r\n public assignFromUserData(userData: UserData) {\r\n this.salutation = userData.salutation;\r\n this.firstname = userData.firstname;\r\n this.lastname = userData.lastname;\r\n this.companyName = userData.companyName;\r\n this.companyStreet = userData.companyStreet;\r\n this.companyPostalCode = userData.companyPostalCode;\r\n this.companyCity = userData.companyCity;\r\n this.companyCountry = userData.companyCountry;\r\n }\r\n\r\n /**\r\n * Clones the request\r\n * @returns Cloned request\r\n */\r\n public clone(): UpdateUserDataRequest {\r\n let userDataRequest = new UpdateUserDataRequest();\r\n userDataRequest.salutation = this.salutation;\r\n userDataRequest.firstname = this.firstname;\r\n userDataRequest.lastname = this.lastname;\r\n userDataRequest.companyName = this.companyName;\r\n userDataRequest.companyStreet = this.companyStreet;\r\n userDataRequest.companyPostalCode = this.companyPostalCode;\r\n userDataRequest.companyCity = this.companyCity;\r\n userDataRequest.companyCountry = this.companyCountry;\r\n\r\n return userDataRequest;\r\n }\r\n}\r\n\r\nexport default UpdateUserDataRequest;","import UpdateUserDataRequest from './../../../dto/account/UpdateUserDataRequest';\r\nimport UserData from './../../../dto/account/UserData';\r\n\r\n/**\r\n * My profile page state class\r\n */\r\nclass MyProfileState {\r\n /**\r\n * Request to set the new user data\r\n */\r\n public updateUserDataRequest: UpdateUserDataRequest;\r\n\r\n /**\r\n * Existing user data\r\n */\r\n public existingUserData: UserData | null;\r\n\r\n /**\r\n * true if the page is loading the user data\r\n */\r\n public isLoading: boolean;\r\n\r\n /**\r\n * true if an error during loading occured\r\n */\r\n public loadErrorOccured: boolean;\r\n\r\n /**\r\n * true if an error occured while sending the update request\r\n */\r\n public requestErrorOccured: boolean;\r\n\r\n /**\r\n * true if the new data could be set\r\n */\r\n public dataWasChanged: boolean;\r\n\r\n /**\r\n * Constructor\r\n */\r\n public constructor()\r\n {\r\n this.updateUserDataRequest = new UpdateUserDataRequest();\r\n this.existingUserData = null;\r\n this.isLoading = false;\r\n this.loadErrorOccured = false;\r\n this.requestErrorOccured = false;\r\n this.dataWasChanged = false;\r\n }\r\n}\r\n\r\nexport default MyProfileState;","import React, { ReactNode } from 'react';\r\n\r\n// Library\r\nimport { TFunction } from 'i18next';\r\nimport { ColorClassNames, FontClassNames, FontWeights, PrimaryButton, Spinner, SpinnerSize, MessageBar, MessageBarType } from 'office-ui-fabric-react';\r\nimport 'office-ui-fabric-core/dist/css/fabric.min.css';\r\nimport { Redirect } from 'react-router-dom';\r\n\r\n// Components\r\nimport TranslatedComponent from '../../localization/TranslatedComponent';\r\nimport UserDataForm from '../shared/userDataForm/UserDataForm';\r\nimport styles from './MyProfile.module.css';\r\n\r\n// Services\r\n\r\n// Dto\r\nimport IMyProfileProps from './dto/IMyProfileProps';\r\nimport MyProfileState from './dto/MyProfileState';\r\nimport UpdateUserDataRequest from '../../dto/account/UpdateUserDataRequest';\r\nimport AccountFactory from '../../services/account/AccountFactory.service';\r\nimport UserData from '../../dto/account/UserData';\r\n\r\n/**\r\n * My Profile Component\r\n */\r\nclass MyProfile extends TranslatedComponent {\r\n /**\r\n * User Data form ref\r\n */\r\n private userDataFormRef: UserDataForm | null = null;\r\n\r\n /**\r\n * Constructor\r\n * @param props Input props\r\n */\r\n public constructor(props: Readonly) {\r\n super(props);\r\n\r\n this.state = new MyProfileState();\r\n }\r\n\r\n /**\r\n * Loads the current user data\r\n */\r\n public componentDidMount() {\r\n this.setState({\r\n isLoading: true\r\n });\r\n\r\n AccountFactory.getAccountService().getCurrentUserData().then((currentUserData) => {\r\n let userData: UserData = new UserData();\r\n userData.salutation = currentUserData.salutation;\r\n userData.firstname = currentUserData.firstname;\r\n userData.lastname = currentUserData.lastname;\r\n \r\n userData.companyName = currentUserData.companyName;\r\n userData.companyStreet = currentUserData.companyStreet;\r\n userData.companyCity = currentUserData.companyCity;\r\n userData.companyPostalCode = currentUserData.companyPostalCode;\r\n userData.companyCountry = currentUserData.companyCountry;\r\n\r\n let updateUserDataRequest = new UpdateUserDataRequest();\r\n updateUserDataRequest.assignFromUserData(userData);\r\n\r\n this.setState({\r\n updateUserDataRequest: updateUserDataRequest,\r\n existingUserData: userData,\r\n isLoading: false\r\n });\r\n }, () => {\r\n this.setState({\r\n requestErrorOccured: true,\r\n loadErrorOccured: true,\r\n isLoading: false\r\n });\r\n });\r\n }\r\n\r\n /**\r\n * Renders the my profile component\r\n * @param t Translate function\r\n * @returns Rendered component\r\n */\r\n protected renderWithTranslation(t: TFunction): ReactNode {\r\n return (\r\n
\r\n {this.renderUnauthorizedRedirect()}\r\n

{t(\"myProfile.header\")}

\r\n {this.renderRequestErrorOccured(t)}\r\n {this.renderSuccessBanner(t)}\r\n \r\n this.userDataFormRef = r } hideUsername={true} hideMiscFields={true} hideIpAuthFields={true} hideLoginFields={true}>\r\n

\r\n \r\n {this.state.isLoading && }\r\n {t(\"myProfile.updateData\")}\r\n \r\n

\r\n
\r\n );\r\n }\r\n\r\n /**\r\n * Renders a redirect if the current user is not logged in\r\n */\r\n private renderUnauthorizedRedirect = (): ReactNode => {\r\n if(this.props.currentUser && this.props.currentUser.isAuthenticated && !this.props.currentUser.isIpAuthenticated)\r\n {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n )\r\n }\r\n\r\n /**\r\n * Renders a message that the data was changed\r\n * @param t Translate function\r\n */\r\n private renderSuccessBanner = (t: TFunction): ReactNode => {\r\n if (!this.state.dataWasChanged) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n {t(\"myProfile.dataWasChanged\")}\r\n \r\n )\r\n }\r\n\r\n /**\r\n * Renders a message that a request error occured\r\n * @param t Translate function\r\n */\r\n private renderRequestErrorOccured = (t: TFunction): ReactNode => {\r\n if (!this.state.requestErrorOccured) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n {t(\"general.error.generic\")}\r\n \r\n )\r\n }\r\n \r\n /**\r\n * Removes the success banner\r\n */\r\n private removeSuccessBanner = () => {\r\n this.setState({\r\n dataWasChanged: false\r\n });\r\n }\r\n\r\n /**\r\n * Removes the request error banner\r\n */\r\n private removeRequestErrorBanner = () => {\r\n this.setState({\r\n requestErrorOccured: false\r\n });\r\n }\r\n\r\n /**\r\n * Gets called if the user data is changed\r\n */\r\n private onUserDataChanged = (u: UserData): void => {\r\n let updateUserDataRequest = this.state.updateUserDataRequest.clone();\r\n updateUserDataRequest.assignFromUserData(u);\r\n\r\n this.setState({\r\n updateUserDataRequest: updateUserDataRequest\r\n })\r\n }\r\n\r\n /**\r\n * Gets called if the new data must be set\r\n */\r\n private onChangeData = async (): Promise => {\r\n if(!this.userDataFormRef) {\r\n return;\r\n }\r\n\r\n if (!this.userDataFormRef.validate()) {\r\n this.setState({\r\n isLoading: false,\r\n dataWasChanged: false,\r\n requestErrorOccured: false\r\n });\r\n return;\r\n }\r\n \r\n this.setState({\r\n isLoading: true,\r\n dataWasChanged: false,\r\n requestErrorOccured: false\r\n });\r\n\r\n try {\r\n await AccountFactory.getAccountService().updateUserData(this.state.updateUserDataRequest);\r\n \r\n this.setState({\r\n isLoading: false,\r\n dataWasChanged: true\r\n });\r\n }\r\n catch (e) {\r\n this.setState({\r\n isLoading: false,\r\n requestErrorOccured: true\r\n });\r\n }\r\n }\r\n}\r\n\r\nexport default MyProfile; ","/**\r\n * Data for a user subscription\r\n */\r\nclass UserSubscription {\r\n /**\r\n * Id of the subscription\r\n */\r\n public id: string;\r\n\r\n /**\r\n * Subscription number\r\n */\r\n public subscriptionNumber: string;\r\n\r\n /**\r\n * Product name\r\n */\r\n public productName: string;\r\n\r\n /**\r\n * true if the subscription is active, else false\r\n */\r\n public isActive: boolean;\r\n\r\n /**\r\n * Constructor\r\n */\r\n public constructor() {\r\n this.id = \"\";\r\n this.subscriptionNumber = \"\";\r\n this.productName = \"\";\r\n this.isActive = false;\r\n }\r\n}\r\n\r\nexport default UserSubscription;","import { Guid } from \"guid-typescript\";\r\n\r\nimport ISubscriptionsService from './ISubscriptions.service';\r\nimport SubscriptionConnectRequest from './../../dto/subscriptions/SubscriptionConnectRequest';\r\nimport UserSubscription from '../../dto/subscriptions/UserSubscription';\r\nimport mockLoadingTime from './../../util/MockLoadingTime';\r\n\r\n/**\r\n * Mock service for subscriptions\r\n */\r\nclass MockSubscriptionsService implements ISubscriptionsService {\r\n /**\r\n * Connects a subscription\r\n * @param subscriptionConnectRequest Request to connect the subscription\r\n * @returns Newly connected subscription\r\n */\r\n public async connectSubscription(subscriptionConnectRequest: SubscriptionConnectRequest): Promise {\r\n await mockLoadingTime();\r\n \r\n let subscription: UserSubscription = new UserSubscription();\r\n subscription.id = Guid.create().toString();\r\n subscription.subscriptionNumber = subscriptionConnectRequest.subscriptionNumber;\r\n subscription.productName = \"Subscription #New\";\r\n subscription.isActive = true;\r\n return subscription;\r\n }\r\n\r\n /**\r\n * Returns the subscriptions of the current user\r\n * @returns Subscriptions of the current user\r\n */\r\n public async getMySubscriptions(): Promise {\r\n await mockLoadingTime();\r\n\r\n let subscriptions: UserSubscription[] = [];\r\n for(let curSubscription = 0; curSubscription < 3; ++curSubscription) {\r\n let subscription: UserSubscription = new UserSubscription();\r\n subscription.id = Guid.create().toString();\r\n subscription.subscriptionNumber = \"400000000\" + curSubscription;\r\n subscription.productName = \"Subscription #\" + curSubscription;\r\n subscription.isActive = curSubscription !== 0;\r\n \r\n subscriptions.push(subscription);\r\n }\r\n\r\n return subscriptions;\r\n }\r\n}\r\n\r\nexport default MockSubscriptionsService;","import ISubscriptionsService from './ISubscriptions.service';\r\nimport TrackedHttpClient from './../trackedHttpClient/TrackedHttpClient.service';\r\nimport SubscriptionConnectRequest from './../../dto/subscriptions/SubscriptionConnectRequest';\r\nimport UserSubscription from '../../dto/subscriptions/UserSubscription';\r\n\r\n/**\r\n * Web service for subscriptions services\r\n */\r\nclass WebSubscriptionsService implements ISubscriptionsService {\r\n /**\r\n * Connects a subscription\r\n * @param subscriptionConnectRequest Request to connect the subscription\r\n * @returns Newly connected subscription\r\n */\r\n public async connectSubscription(subscriptionConnectRequest: SubscriptionConnectRequest): Promise {\r\n return await TrackedHttpClient.post(\"/api/subscriptions/connect\", subscriptionConnectRequest);\r\n }\r\n\r\n /**\r\n * Returns the subscriptions of the current user\r\n * @returns Subscriptions of the current user\r\n */\r\n public async getMySubscriptions(): Promise {\r\n return await TrackedHttpClient.get(\"/api/subscriptions/mySubscriptions\");\r\n }\r\n}\r\n\r\nexport default WebSubscriptionsService;","// Util\r\nimport isDevMode from './../../util/IsDevMode';\r\n\r\n// Services\r\nimport ISubscriptionsService from './ISubscriptions.service';\r\nimport MockSubscriptionsService from './MockSubscriptions.service';\r\nimport WebSubscriptionsService from './WebSubscriptions.service';\r\n\r\n/**\r\n * Factory class to provide subscriptions service\r\n */\r\nexport default class SubscriptionsFactoryService {\r\n /**\r\n * Returns the subscriptions service\r\n * @returns Subscriptions service\r\n */\r\n public static getSubscriptionsService(): ISubscriptionsService {\r\n if (isDevMode()) {\r\n return new MockSubscriptionsService();\r\n }\r\n\r\n return new WebSubscriptionsService();\r\n }\r\n}","/**\r\n * Subscription connect request\r\n */\r\nclass SubscriptionConnectRequest {\r\n /**\r\n * Subscription number\r\n */\r\n public subscriptionNumber: string;\r\n\r\n /**\r\n * Constructor\r\n */\r\n public constructor() {\r\n this.subscriptionNumber = \"\";\r\n }\r\n}\r\n\r\nexport default SubscriptionConnectRequest;","import SubscriptionConnectRequest from './../../../dto/subscriptions/SubscriptionConnectRequest';\r\nimport UserSubscription from '../../../dto/subscriptions/UserSubscription';\r\n\r\n/**\r\n * My subscriptions page state class\r\n */\r\nclass MySubscriptionsState {\r\n /**\r\n * Subscription connect request\r\n */\r\n public subscriptionConnectRequest: SubscriptionConnectRequest;\r\n\r\n /**\r\n * Subscriptions of the current user\r\n */\r\n public currentUserSubscriptions: UserSubscription[];\r\n\r\n /**\r\n * true if the subscriptions are loaded\r\n */\r\n public isLoading: boolean;\r\n\r\n /**\r\n * true if an error occured while loading the subscriptions\r\n */\r\n public loadErrorOccured: boolean;\r\n\r\n /**\r\n * true if error messages should be shown on empty\r\n */\r\n public showErrorMessage: boolean;\r\n\r\n /**\r\n * true if a save operation is running\r\n */\r\n public isSaving: boolean;\r\n\r\n /**\r\n * true if a subscription was connected\r\n */\r\n public subscriptionWasConnected: boolean;\r\n\r\n /**\r\n * true if an error occured which caused a subscription to not be able to be connected\r\n */\r\n public subscriptionConnectErrorOccured: boolean;\r\n\r\n /**\r\n * true if the subscription number is already in use, else false\r\n */\r\n public subscriptionNumberInUse: boolean;\r\n\r\n /**\r\n * Constructor\r\n */\r\n public constructor()\r\n {\r\n this.subscriptionConnectRequest = new SubscriptionConnectRequest();\r\n this.currentUserSubscriptions = [];\r\n this.isLoading = false;\r\n this.loadErrorOccured = false;\r\n this.showErrorMessage = false;\r\n this.isSaving = false;\r\n this.subscriptionWasConnected = false;\r\n this.subscriptionConnectErrorOccured = false;\r\n this.subscriptionNumberInUse = false;\r\n }\r\n}\r\n\r\nexport default MySubscriptionsState;","import React, { ReactNode } from 'react';\r\n\r\n// Library\r\nimport { TFunction } from 'i18next';\r\nimport { ColorClassNames, FontClassNames, Text, FontWeights, Stack, TextField, PrimaryButton, IStackTokens, Spinner, SpinnerSize, MessageBar, MessageBarType } from 'office-ui-fabric-react';\r\nimport 'office-ui-fabric-core/dist/css/fabric.min.css';\r\nimport { Redirect } from 'react-router-dom';\r\n\r\n// Components\r\nimport TranslatedComponent from '../../localization/TranslatedComponent';\r\nimport styles from './MySubscriptions.module.css';\r\n\r\n// Services\r\nimport SubscriptionsFactoryService from './../../services/subscriptions/SubscriptionsFactory.service';\r\n\r\n// Dto\r\nimport IMySubscriptionsProps from './dto/IMySubscriptionsProps';\r\nimport MySubscriptionsState from './dto/MySubscriptionsState';\r\nimport SubscriptionConnectRequest from '../../dto/subscriptions/SubscriptionConnectRequest';\r\n\r\n/**\r\n * My Subscriptions Component\r\n */\r\nclass MySubscriptions extends TranslatedComponent {\r\n /**\r\n * Constructor\r\n * @param props Input props\r\n */\r\n public constructor(props: Readonly) {\r\n super(props);\r\n\r\n this.state = new MySubscriptionsState();\r\n }\r\n\r\n /**\r\n * Loads the current user data\r\n */\r\n public componentDidMount() {\r\n this.loadUserSubscriptions();\r\n }\r\n\r\n /**\r\n * Loads the user subscriptions\r\n */\r\n private loadUserSubscriptions() {\r\n this.setState({\r\n isLoading: true\r\n });\r\n SubscriptionsFactoryService.getSubscriptionsService().getMySubscriptions().then((subscriptionData) => {\r\n this.setState({\r\n currentUserSubscriptions: subscriptionData,\r\n isLoading: false\r\n });\r\n }, () => {\r\n this.setState({\r\n loadErrorOccured: true,\r\n isLoading: false\r\n });\r\n });\r\n }\r\n\r\n /**\r\n * Renders the my subscriptions component\r\n * @param t Translate function\r\n * @returns Rendered component\r\n */\r\n protected renderWithTranslation(t: TFunction): ReactNode {\r\n return (\r\n
\r\n {this.renderUnauthorizedRedirect()}\r\n

{t(\"mySubscriptions.header\")}

\r\n {this.renderSuccessBanner(t)}\r\n {this.renderCouldNotLoadBanner(t)}\r\n {this.renderCouldNotConnectBanner(t)}\r\n {this.renderAddSubscriptionSection(t)}\r\n {this.renderUserSubscriptions(t)}\r\n
\r\n );\r\n }\r\n\r\n /**\r\n * Renders a redirect if the current user is not logged in\r\n */\r\n private renderUnauthorizedRedirect = (): ReactNode => {\r\n if (this.props.currentUser && this.props.currentUser.isAuthenticated && !this.props.currentUser.isIpAuthenticated) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n )\r\n }\r\n\r\n /**\r\n * Renders a banner if a subscription can not be connected\r\n * @param t Translate function\r\n */\r\n private renderCouldNotConnectBanner = (t: TFunction): ReactNode => {\r\n if (!this.state.subscriptionConnectErrorOccured) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n {t(this.state.subscriptionNumberInUse ? \"mySubscriptions.subscriptionNumberInUse\" : \"mySubscriptions.subscriptionCouldNotBeAdded\")}\r\n \r\n )\r\n }\r\n\r\n /**\r\n * Renders a banner if the subscriptions of the user could not be loaded\r\n * @param t Translate function\r\n */\r\n private renderCouldNotLoadBanner = (t: TFunction): ReactNode => {\r\n if (!this.state.loadErrorOccured) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n {t(\"mySubscriptions.subscriptionsCouldNotBeLoaded\")}\r\n \r\n )\r\n }\r\n\r\n /**\r\n * Renders a success banner\r\n * @param t Translate function\r\n */\r\n private renderSuccessBanner = (t: TFunction): ReactNode => {\r\n if (!this.state.subscriptionWasConnected) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n {t(\"mySubscriptions.subscriptionWasAdded\")}\r\n \r\n )\r\n }\r\n\r\n /**\r\n * Renders a section to add a new subscription\r\n * @param t Translate function\r\n */\r\n private renderAddSubscriptionSection = (t: TFunction): ReactNode => {\r\n const horizontalGapStackTokens: IStackTokens = {\r\n childrenGap: 10,\r\n padding: 10,\r\n };\r\n\r\n return (\r\n
\r\n \r\n

\r\n {t(\"mySubscriptions.enterSubscriptionNumberToConnect\")}

\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.isSaving && }\r\n {t(\"mySubscriptions.addSubscription\")}\r\n \r\n \r\n \r\n
\r\n )\r\n }\r\n\r\n /**\r\n * Renders a section to display the current user subscriptions\r\n * @param t Translate function\r\n */\r\n private renderUserSubscriptions = (t: TFunction): ReactNode => {\r\n return (\r\n
\r\n

{t(\"mySubscriptions.mySubscriptions\")}

\r\n
    \r\n {this.state.currentUserSubscriptions.map(s =>
  • {`${s.productName} (${s.subscriptionNumber})`}{!s.isActive && {t(\"mySubscriptions.inactive\")}}
  • )}\r\n
\r\n
\r\n )\r\n }\r\n\r\n /**\r\n * Removes the success banner\r\n */\r\n private removeSuccessBanner = () => {\r\n this.setState({\r\n subscriptionWasConnected: false\r\n });\r\n }\r\n\r\n /**\r\n * Removes the could not connect banner\r\n */\r\n private removeCouldNotConnectBanner = () => {\r\n this.setState({\r\n subscriptionConnectErrorOccured: false\r\n });\r\n }\r\n\r\n /**\r\n * Handles the change of the subscription number to change field\r\n * @param _ev Event\r\n * @param val New value of the field\r\n */\r\n private onSubscriptionNumberToConnectChanged = (_ev: React.FormEvent, val: string | undefined) => {\r\n if (!val) {\r\n val = \"\";\r\n }\r\n\r\n let subscriptionConnectRequest = { ...this.state.subscriptionConnectRequest };\r\n subscriptionConnectRequest.subscriptionNumber = val;\r\n\r\n this.setState({\r\n subscriptionConnectRequest: subscriptionConnectRequest\r\n });\r\n }\r\n\r\n /**\r\n * Returns the error message for the subscription number field\r\n * @param t Translate function\r\n * @returns Error message for subscription number field\r\n */\r\n private getSubscriptionNumberError = (t: TFunction): string => {\r\n if (!this.state.showErrorMessage || this.state.subscriptionConnectRequest.subscriptionNumber) {\r\n return \"\";\r\n }\r\n\r\n return t(\"general.mandatoryField\");\r\n }\r\n\r\n /**\r\n * Adds a subscription\r\n */\r\n private onAddSubscription = async (): Promise => {\r\n if (!this.state.subscriptionConnectRequest.subscriptionNumber) {\r\n this.setState({\r\n showErrorMessage: true,\r\n isSaving: false,\r\n subscriptionWasConnected: false,\r\n subscriptionNumberInUse: false\r\n });\r\n return;\r\n }\r\n\r\n this.setState({\r\n showErrorMessage: false,\r\n isSaving: true,\r\n subscriptionWasConnected: false,\r\n subscriptionConnectErrorOccured: false,\r\n subscriptionNumberInUse: false\r\n });\r\n\r\n try {\r\n await SubscriptionsFactoryService.getSubscriptionsService().connectSubscription(this.state.subscriptionConnectRequest);\r\n this.setState({\r\n subscriptionConnectRequest: new SubscriptionConnectRequest(),\r\n isSaving: false,\r\n subscriptionWasConnected: true\r\n }, () => {\r\n this.loadUserSubscriptions();\r\n });\r\n }\r\n catch (e)\r\n {\r\n let isSubscriptionInUse = false;\r\n if (e.response && e.response.status < 500 && e.response.data && e.response.data.message === \"numberInUse\") {\r\n isSubscriptionInUse = true;\r\n }\r\n this.setState({\r\n isSaving: false,\r\n subscriptionConnectErrorOccured: true,\r\n subscriptionNumberInUse: isSubscriptionInUse\r\n });\r\n }\r\n }\r\n}\r\n\r\nexport default MySubscriptions; ","/**\r\n * Reset password request data\r\n */\r\nclass ResetPasswordRequest {\r\n /**\r\n * Email\r\n */\r\n public email: string;\r\n\r\n /**\r\n * Constructor\r\n */\r\n public constructor() {\r\n this.email = \"\";\r\n }\r\n}\r\n\r\nexport default ResetPasswordRequest;","import ResetPasswordRequest from \"../../../dto/account/ResetPasswordRequest\";\r\n\r\n/**\r\n * Password reset page state class\r\n */\r\nclass PasswordResetState {\r\n /**\r\n * Password reset request\r\n */\r\n public resetRequest: ResetPasswordRequest;\r\n\r\n /**\r\n * True if the reset request was sent\r\n */\r\n public requestWasSent: boolean;\r\n\r\n /**\r\n * true if error messages should be shown on empty\r\n */\r\n public showErrorMessage: boolean;\r\n\r\n /**\r\n * true if the page is loading\r\n */\r\n public isLoading: boolean;\r\n\r\n /**\r\n * Constructor\r\n */\r\n public constructor()\r\n {\r\n this.resetRequest = new ResetPasswordRequest();\r\n this.requestWasSent = false;\r\n this.showErrorMessage = false;\r\n this.isLoading = false;\r\n }\r\n}\r\n\r\nexport default PasswordResetState;","import React, { ReactNode } from 'react';\r\n\r\n// Library\r\nimport { TFunction } from 'i18next';\r\nimport { ColorClassNames, TextField, PrimaryButton, Spinner, SpinnerSize, FontClassNames, FontWeights } from 'office-ui-fabric-react';\r\nimport 'office-ui-fabric-core/dist/css/fabric.min.css';\r\n\r\n// Components\r\nimport TranslatedComponent from '../../localization/TranslatedComponent';\r\nimport styles from './PasswordReset.module.css';\r\n\r\n// Services\r\nimport AccountFactory from '../../services/account/AccountFactory.service';\r\n\r\n// Dto\r\nimport IPasswordResetProps from './dto/IPasswordResetProps';\r\nimport PasswordResetState from './dto/PasswordResetState';\r\nimport ResetPasswordRequest from '../../dto/account/ResetPasswordRequest';\r\n\r\n// Util\r\nimport isValidEmail from './../../util/IsValidEmail';\r\n\r\n/**\r\n * Password reset Component\r\n */\r\nclass PasswordReset extends TranslatedComponent {\r\n /**\r\n * Constructor\r\n * @param props Input props\r\n */\r\n public constructor(props: Readonly) {\r\n super(props);\r\n\r\n this.state = new PasswordResetState();\r\n }\r\n\r\n /**\r\n * Renders the password reset component\r\n * @param t Translate function\r\n * @returns Rendered component\r\n */\r\n protected renderWithTranslation(t: TFunction): ReactNode {\r\n return (\r\n
\r\n

{t(\"passwordReset.header\")}

\r\n {!this.state.requestWasSent ? this.renderResetPasswordForm(t) : this.renderSuccessMessage(t)}\r\n
\r\n );\r\n }\r\n \r\n /**\r\n * Renders the reset password form\r\n * @param t Translate function\r\n */\r\n private renderResetPasswordForm = (t: TFunction): ReactNode => {\r\n return (\r\n
\r\n

{t(\"passwordReset.enterEmailToReceiveResetLink\")}

\r\n \r\n

\r\n \r\n {this.state.isLoading && }\r\n {t(\"passwordReset.resetPassword\")}\r\n \r\n

\r\n
\r\n );\r\n }\r\n\r\n /**\r\n * Renders the success message form\r\n * @param t Translate function\r\n */\r\n private renderSuccessMessage = (t: TFunction): ReactNode => {\r\n return (\r\n
\r\n

{t(\"passwordReset.successMessage\")}

\r\n
\r\n );\r\n }\r\n\r\n /**\r\n * Callback if the email address was changed\r\n * @param _ev Event object\r\n * @param newValue New value of the textbox\r\n */\r\n private onEmailAddressChanged = (_ev: React.FormEvent, newValue?: string | undefined): void => {\r\n if(!newValue)\r\n {\r\n newValue = \"\";\r\n }\r\n\r\n let resetRequest: ResetPasswordRequest = { ...this.state.resetRequest };\r\n resetRequest.email = newValue;\r\n\r\n this.setState({\r\n resetRequest: resetRequest\r\n });\r\n }\r\n\r\n \r\n /**\r\n * Returns an error message if an invalid email address is provided\r\n * @param t Translate function\r\n * @returns Error message\r\n */\r\n private getEmailErrorMessage = (t: TFunction): string => {\r\n if (!this.state.showErrorMessage)\r\n {\r\n return \"\";\r\n }\r\n\r\n if(!this.state.resetRequest.email)\r\n {\r\n return t(\"general.mandatoryField\");\r\n }\r\n\r\n return !isValidEmail(this.state.resetRequest.email) ? t(\"general.invalidEmail\") : \"\";\r\n }\r\n\r\n\r\n /**\r\n * Gets called if the password must be reset\r\n */\r\n private onResetPassword = async (): Promise => {\r\n if(!this.state.resetRequest.email || !isValidEmail(this.state.resetRequest.email))\r\n {\r\n this.setState({\r\n showErrorMessage: true,\r\n isLoading: false\r\n });\r\n return;\r\n }\r\n \r\n this.setState({\r\n showErrorMessage: false,\r\n isLoading: true\r\n });\r\n\r\n try {\r\n await AccountFactory.getAccountService().resetPassword(this.state.resetRequest);\r\n }\r\n catch (e) {\r\n // Dont show error to not help potential hackers\r\n }\r\n\r\n this.setState({\r\n isLoading: false,\r\n requestWasSent: true\r\n });\r\n }\r\n}\r\n\r\nexport default PasswordReset; ","/**\r\n * Document entry\r\n */\r\nclass DocumentEntry {\r\n /**\r\n * Id of the entry\r\n */\r\n public id: string;\r\n\r\n /**\r\n * Title of the entry\r\n */\r\n public title: string;\r\n\r\n /**\r\n * Edition\r\n */\r\n public edition: string;\r\n\r\n /**\r\n * Publication date\r\n */\r\n public publicationDate: Date;\r\n\r\n /**\r\n * Page count\r\n */\r\n public pageCount: number;\r\n\r\n /**\r\n * Tags\r\n */\r\n public tags: string;\r\n\r\n /**\r\n * Constructor\r\n */\r\n public constructor() {\r\n this.id = \"\";\r\n this.title = \"\";\r\n this.edition = \"\";\r\n this.publicationDate = new Date();\r\n this.pageCount = 0;\r\n this.tags = \"\";\r\n }\r\n}\r\n\r\nexport default DocumentEntry;","/**\r\n * Document entry\r\n */\r\nclass DocumentDetailEntry {\r\n /**\r\n * Id of the entry\r\n */\r\n public id: string;\r\n\r\n /**\r\n * Title of the entry\r\n */\r\n public title: string;\r\n \r\n /**\r\n * Sub Title of the entry\r\n */\r\n public subTitle: string;\r\n\r\n /**\r\n * EAN\r\n */\r\n public ean: string;\r\n\r\n /**\r\n * ISBN\r\n */\r\n public isbn: string;\r\n\r\n /**\r\n * Edition\r\n */\r\n public edition: string;\r\n\r\n /**\r\n * Author\r\n */\r\n public author: string;\r\n\r\n /**\r\n * Editor\r\n */\r\n public editor: string;\r\n\r\n /**\r\n * Publisher\r\n */\r\n public publisher: string;\r\n\r\n /**\r\n * Description\r\n */\r\n public description: string;\r\n\r\n /**\r\n * Publication date\r\n */\r\n public publicationDate: Date;\r\n\r\n /**\r\n * Page count\r\n */\r\n public pageCount: number;\r\n\r\n /**\r\n * Tags\r\n */\r\n public tags: string;\r\n\r\n /**\r\n * Constructor\r\n */\r\n public constructor() {\r\n this.id = \"\";\r\n this.title = \"\";\r\n this.subTitle = \"\";\r\n this.description = \"\";\r\n this.ean = \"\";\r\n this.isbn = \"\";\r\n this.edition = \"\";\r\n this.author = \"\";\r\n this.editor = \"\";\r\n this.publisher = \"\";\r\n this.publicationDate = new Date();\r\n this.pageCount = 0;\r\n this.tags = \"\";\r\n }\r\n}\r\n\r\nexport default DocumentDetailEntry;","import mockLoadingTime from \"./../../util/MockLoadingTime\";\r\nimport DocumentEntry from \"../../dto/documentAccess/DocumentEntry\";\r\nimport DocumentDetailEntry from \"../../dto/documentAccess/DocumentDetailEntry\";\r\nimport IDocumentAccessService from \"./IDocumentAccess.service\";\r\n\r\n/**\r\n * Mock document access services\r\n */\r\nclass MockDocumentAccessService implements IDocumentAccessService {\r\n /**\r\n * Returns the latest document entry\r\n * @returns Latest document entry\r\n */\r\n public async getLatestDocumentEntry(): Promise {\r\n await mockLoadingTime();\r\n\r\n let entry: DocumentEntry = new DocumentEntry();\r\n entry.id = \"1\";\r\n entry.title = \"gwf Gas + Energie\";\r\n entry.edition = \"02\";\r\n entry.pageCount = 120;\r\n entry.publicationDate = new Date(2020, 1, 1);\r\n\r\n return entry;\r\n }\r\n \r\n /**\r\n * Returns the document entry details for a document entry\r\n * @param id Id of the document entry\r\n * @returns Details of the document entry\r\n */\r\n public async getDocumentEntryDetails(id: string): Promise {\r\n await mockLoadingTime();\r\n\r\n let entry: DocumentDetailEntry = new DocumentDetailEntry();\r\n entry.id = id;\r\n entry.title = \"Das Buch\";\r\n entry.subTitle = \"Es ist sehr gut.\";\r\n entry.description = \"Ein Buch...
es ist großartig. \"\r\n entry.ean = \"9783125171541\";\r\n entry.isbn = \"ISBN-10 3-12-517154-7\";\r\n entry.edition = \"Erste Auflage\";\r\n entry.author = \"Andrea Autorin\";\r\n entry.editor = \"Erik Editor\";\r\n entry.publisher = \"Die Veröffentlicher\";\r\n entry.pageCount = 120;\r\n entry.tags = \"Buch;Ein Buch\";\r\n \r\n return entry;\r\n }\r\n}\r\n\r\nexport default MockDocumentAccessService;","import TrackedHttpClient from './../trackedHttpClient/TrackedHttpClient.service';\r\nimport DocumentEntry from \"../../dto/documentAccess/DocumentEntry\";\r\nimport DocumentDetailEntry from \"../../dto/documentAccess/DocumentDetailEntry\";\r\nimport IDocumentAccessService from './IDocumentAccess.service';\r\n\r\n/**\r\n * Web document access services\r\n */\r\nclass WebDocumentService implements IDocumentAccessService {\r\n /**\r\n * Returns the latest document entry\r\n * @returns Latest document entry\r\n */\r\n public async getLatestDocumentEntry(): Promise {\r\n let documentEntry: DocumentEntry = await TrackedHttpClient.get(\"/api/document/latestDocument\");\r\n documentEntry.publicationDate = new Date(documentEntry.publicationDate);\r\n return documentEntry;\r\n }\r\n \r\n /**\r\n * Returns the document entry details for a document entry\r\n * @param id Id of the document entry\r\n * @returns Details of the document entry\r\n */\r\n public async getDocumentEntryDetails(id: string): Promise {\r\n let documentEntry: DocumentDetailEntry = await TrackedHttpClient.get(`/api/document/getDetailEntry?id=${id}`);\r\n documentEntry.publicationDate = new Date(documentEntry.publicationDate);\r\n return documentEntry;\r\n }\r\n}\r\n\r\nexport default WebDocumentService;","// Util\r\nimport isDevMode from './../../util/IsDevMode';\r\n\r\n// Services\r\nimport IDocumentAccessService from './IDocumentAccess.service';\r\nimport MockDocumentAccessService from './MockDocumentAccess.service';\r\nimport WebDocumentService from './WebDocumentAccess.service';\r\n\r\n/**\r\n * Factory class to provide document access services\r\n */\r\nexport default class DocumentAccessFactory {\r\n /**\r\n * Returns the document access service\r\n * @returns Document access service\r\n */\r\n public static getDocumentAccessService(): IDocumentAccessService {\r\n if (isDevMode()) {\r\n return new MockDocumentAccessService();\r\n }\r\n\r\n return new WebDocumentService();\r\n }\r\n}","/**\r\n * Home page state class\r\n */\r\nclass HomeState {\r\n /**\r\n * Home thumbnail image\r\n */\r\n public thumbnailName: string;\r\n\r\n /**\r\n * Constructor\r\n */\r\n public constructor()\r\n {\r\n this.thumbnailName = \"\"; \r\n }\r\n}\r\n\r\nexport default HomeState;","import React, { ReactNode } from 'react';\r\n\r\n// Library\r\nimport { TFunction } from 'i18next';\r\n\r\n// Services\r\nimport DocumentAccessFactory from './../../services/documentAccess/DocumentAccessFactory.service';\r\n\r\n// Components\r\nimport TranslatedComponent from '../../localization/TranslatedComponent';\r\nimport styles from './Home.module.css';\r\nimport { FontClassNames, ColorClassNames, FontWeights, Text, Stack, Icon } from 'office-ui-fabric-react';\r\nimport 'office-ui-fabric-core/dist/css/fabric.min.css';\r\n\r\n// Dto\r\nimport IHomeProps from './dto/IHomeProps';\r\nimport HomeState from './dto/HomeState';\r\n\r\n/**\r\n * Home Component\r\n */\r\nclass Home extends TranslatedComponent {\r\n /**\r\n * Constructor\r\n * @param props Input props \r\n */\r\n public constructor(props: IHomeProps) {\r\n super(props);\r\n\r\n this.state = new HomeState();\r\n }\r\n\r\n /**\r\n * Gets called as the component did mount\r\n */\r\n public componentDidMount() {\r\n DocumentAccessFactory.getDocumentAccessService().getLatestDocumentEntry().then((documentEntry) => {\r\n if(documentEntry) {\r\n let name = `${documentEntry.title} Ausgabe ${documentEntry.edition} ${documentEntry.publicationDate.getFullYear()}`;\r\n this.setState({\r\n thumbnailName: name\r\n });\r\n }\r\n }, (err) => {\r\n // Simply dont display thumbnail if error occures\r\n });\r\n }\r\n\r\n /**\r\n * Renders the home component\r\n */\r\n protected renderWithTranslation(t: TFunction): ReactNode {\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n

{t(\"home.welcome\")}

\r\n

{t(\"home.sub\")}

\r\n

{t(\"home.q1\")}

\r\n

{t(\"home.q1text\")}

\r\n

{t(\"home.q1text2\")}

\r\n

{t(\"home.q2\")}

\r\n

{t(\"home.q2text\")}

\r\n
\r\n
\r\n { this.state.thumbnailName && (\r\n
\r\n

{t(\"home.promo\")}

\r\n \r\n \r\n \r\n \r\n \r\n \"Zeitschrift\"\r\n \r\n \r\n \r\n \r\n \r\n {this.state.thumbnailName}\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n// TODO: Embedden!! TODO: Name mit aufnehmnen, Firma und Adresse (kein Pflicht), Anrede, Captcha vor der Registrierung\r\n// Benutzer Logo - pro Account. \r\n// ICON - Sternchen\r\nexport default Home; ","/**\r\n * Debounces a function to run it later\r\n * @param func Function to debounce\r\n * @param context Context of the call\r\n * @param wait Wait time\r\n * @param immediate true if the function must be called immedieat and then debounce or not\r\n * @returns Debounced function\r\n */\r\nexport default function debounce(func: any, context: any, wait: number, immediate: boolean) {\r\n let timeout: any;\r\n return function() {\r\n let args = arguments;\r\n let later = function() {\r\n timeout = null;\r\n if (!immediate) {\r\n func.apply(context, args);\r\n }\r\n };\r\n var callNow = immediate && !timeout;\r\n clearTimeout(timeout);\r\n timeout = setTimeout(later, wait);\r\n if (callNow) {\r\n func.apply(context, args);\r\n };\r\n };\r\n }\r\n ","/**\r\n * Type for a filter entry\r\n */\r\nenum MyDownloadsFilterEntryType {\r\n /**\r\n * Magazin\r\n */\r\n Magazin = 0,\r\n\r\n /**\r\n * Book\r\n */\r\n Book = 1,\r\n\r\n /**\r\n * Video\r\n */\r\n Video = 2,\r\n\r\n /**\r\n * Generic\r\n */\r\n Generic = 3\r\n}\r\n\r\nexport default MyDownloadsFilterEntryType;","import MyDownloadsEntry from \"./MyDownloadsEntry\";\r\n\r\n/**\r\n * Result of a my downloads query\r\n */\r\nclass MyDownloadsQueryResult {\r\n /**\r\n * Total count of downloads\r\n */\r\n public totalCount: number;\r\n\r\n /**\r\n * Download Entries\r\n */\r\n public entries: MyDownloadsEntry[];\r\n\r\n /**\r\n * Constructor\r\n */\r\n public constructor() {\r\n this.totalCount = 0;\r\n this.entries = [];\r\n }\r\n}\r\n\r\nexport default MyDownloadsQueryResult;","import MyDownloadsFilterEntry from \"./MyDownloadsFilterEntry\";\n\n/**\n * Config for filters\n */\nclass MyDownloadsFilterConfig {\n /**\n * Minimum year for the filter\n */\n public minYear: number;\n\n /**\n * Maximum year for the filter\n */\n public maxYear: number;\n\n /**\n * Filter entries\n */\n public filterEntries: MyDownloadsFilterEntry[];\n\n\n /**\n * Constructor\n */\n public constructor() {\n this.minYear = 0;\n this.maxYear = 0;\n this.filterEntries = [];\n }\n}\n\nexport default MyDownloadsFilterConfig;","import MyDownloadsFilterEntryType from './MyDownloadsFilterEntryType';\r\n\r\n/**\r\n * Entry for my downloads\r\n */\r\nclass MyDownloadsEntry {\r\n /**\r\n * Id of the entry\r\n */\r\n public id: string;\r\n\r\n /**\r\n * Title of the entry\r\n */\r\n public title: string;\r\n\r\n /**\r\n * Edition\r\n */\r\n public edition: string;\r\n\r\n /**\r\n * Publication year\r\n */\r\n public publicationYear: number;\r\n\r\n /**\r\n * Page count\r\n */\r\n public pageCount: number;\r\n\r\n /**\r\n * Tags\r\n */\r\n public tags: string[];\r\n\r\n /**\r\n * Download image url\r\n */\r\n public imageUrl: string;\r\n\r\n /**\r\n * Filename\r\n */\r\n public filename: string;\r\n\r\n /**\r\n * True if the entry is favorited, else false\r\n */\r\n public isFavorited: boolean;\r\n\r\n /**\r\n * Type of the entry\r\n */\r\n public entryType: MyDownloadsFilterEntryType;\r\n\r\n /**\r\n * Search hit\r\n */\r\n public searchHit: string;\r\n\r\n /**\r\n * Constructor\r\n */\r\n public constructor() {\r\n this.id = \"\";\r\n this.title = \"\";\r\n this.edition = \"\";\r\n this.publicationYear = 0;\r\n this.pageCount = 0;\r\n this.tags = [];\r\n this.imageUrl = \"\";\r\n this.filename = \"\";\r\n this.isFavorited = false;\r\n this.entryType = MyDownloadsFilterEntryType.Magazin;\r\n this.searchHit = \"\";\r\n }\r\n}\r\n\r\nexport default MyDownloadsEntry;","import MyDownloadsFilterEntryType from './MyDownloadsFilterEntryType';\r\n\r\n/**\r\n * Config for filters\r\n */\r\nclass MyDownloadsFilterEntry {\r\n /**\r\n * Product number for the filter\r\n */\r\n public productNumber: string;\r\n\r\n /**\r\n * Product name for the filter\r\n */\r\n public productName: string;\r\n\r\n /**\r\n * Type of the entry\r\n */\r\n public entryType: MyDownloadsFilterEntryType;\r\n\r\n /**\r\n * Constructor\r\n */\r\n public constructor() {\r\n this.productNumber = \"\";\r\n this.productName = \"\";\r\n this.entryType = MyDownloadsFilterEntryType.Magazin;\r\n }\r\n}\r\n\r\nexport default MyDownloadsFilterEntry;","import { Guid } from \"guid-typescript\";\r\n\r\nimport IMyDownloadsService from './IMyDownloads.service';\r\nimport MyDownloadsQueryResult from './../../dto/myDownloads/MyDownloadsQueryResult';\r\nimport MyDownloadsFilterConfig from \"../../dto/myDownloads/MyDownloadsFilterConfig\";\r\nimport MyDownloadsEntry from './../../dto/myDownloads/MyDownloadsEntry';\r\nimport mockLoadingTime from './../../util/MockLoadingTime';\r\nimport MyDownloadsFilterEntry from \"../../dto/myDownloads/MyDownloadsFilterEntry\";\r\nimport MyDownloadsFilterEntryType from \"../../dto/myDownloads/MyDownloadsFilterEntryType\";\r\nimport MyDownloadsFilter from \"../../dto/myDownloadsFilter/MyDownloadsFilter\";\r\n\r\n/**\r\n * Mock service for my downloads services\r\n */\r\nclass MockMyDownloadsService implements IMyDownloadsService {\r\n /**\r\n * Loads the downloads for the currrent user\r\n * @param page Current page\r\n * @param pageSize Page size\r\n * @param onlyFavorites true if only favorites must be returned, else false\r\n * @param filter Filter to use\r\n * @returns Downloads for the user\r\n */\r\n public async getMyDownloads(page: number, pageSize: number, onlyFavorites: boolean, filter: MyDownloadsFilter): Promise {\r\n await mockLoadingTime();\r\n\r\n let queryResult = new MyDownloadsQueryResult();\r\n queryResult.totalCount = 20;\r\n queryResult.entries = [];\r\n for (let curResult = page * pageSize; curResult < 20 && curResult < (page + 1) * pageSize; ++curResult) {\r\n let entry = new MyDownloadsEntry();\r\n entry.id = Guid.create().toString();\r\n entry.title = `Mock ${curResult} - And this is very long to test other things too`;\r\n entry.entryType = curResult === 0 ? MyDownloadsFilterEntryType.Book : MyDownloadsFilterEntryType.Magazin;\r\n entry.edition = \"First edition\";\r\n entry.pageCount = 2000;\r\n entry.publicationYear = 2018;\r\n entry.tags = [\"one Tag\", \"Two Tags\"];\r\n entry.isFavorited = onlyFavorites || (curResult % 2 === 0);\r\n entry.searchHit = filter.searchQuery ? \"Search Result hit THIS…\" : \"\";\r\n entry.imageUrl = \"data:image/png;base64,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\";\r\n\r\n queryResult.entries.push(entry);\r\n }\r\n let entry2 = new MyDownloadsEntry();\r\n entry2.id = Guid.create().toString();\r\n entry2.title = `Short Title`;\r\n entry2.edition = \"Second edition\";\r\n entry2.pageCount = 123;\r\n entry2.publicationYear = 123;\r\n entry2.tags = [\"one Tag\", \"Two Tags\"];\r\n entry2.imageUrl = \"data:image/png;base64,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\";\r\n queryResult.entries.push(entry2);\r\n\r\n\r\n let entryvideo = new MyDownloadsEntry();\r\n entryvideo.id = Guid.create().toString();\r\n entryvideo.title = `Video Title`;\r\n entryvideo.edition = \"Video edition\";\r\n entryvideo.pageCount = 123;\r\n entryvideo.publicationYear = 123;\r\n entryvideo.tags = [\"one Tag\", \"Two Tags\"];\r\n entryvideo.filename = \"video.mp4\";\r\n entryvideo.entryType = MyDownloadsFilterEntryType.Video;\r\n\r\n queryResult.entries.push(entryvideo);\r\n\r\n let entrygeneric = new MyDownloadsEntry();\r\n entrygeneric.id = Guid.create().toString();\r\n entrygeneric.title = `Docx Title`;\r\n entrygeneric.edition = \"Docx edition\";\r\n entrygeneric.pageCount = 123;\r\n entrygeneric.publicationYear = 123;\r\n entrygeneric.tags = [\"one Tag\", \"Two Tags\"];\r\n entrygeneric.filename = \"word.docx\";\r\n entrygeneric.entryType = MyDownloadsFilterEntryType.Generic;\r\n\r\n queryResult.entries.push(entrygeneric);\r\n\r\n return queryResult;\r\n }\r\n\r\n /**\r\n * Loads the download config for the current user\r\n * @param onlyFavorites true if only favorites must be returned, else false\r\n * @returns Downloads config\r\n */\r\n public async getMyDownloadsConfig(onlyFavorites: boolean): Promise {\r\n await mockLoadingTime();\r\n \r\n let filterEntryMagazin: MyDownloadsFilterEntry = new MyDownloadsFilterEntry();\r\n filterEntryMagazin.productName = \"3R\";\r\n filterEntryMagazin.productNumber = \"1033\";\r\n filterEntryMagazin.entryType = MyDownloadsFilterEntryType.Magazin;\r\n \r\n let filterEntryBook: MyDownloadsFilterEntry = new MyDownloadsFilterEntry();\r\n filterEntryBook.productName = \"Book\";\r\n filterEntryBook.productNumber = \"B00K\";\r\n filterEntryBook.entryType = MyDownloadsFilterEntryType.Video;\r\n \r\n let filterEntryGeneric: MyDownloadsFilterEntry = new MyDownloadsFilterEntry();\r\n filterEntryGeneric.productName = \"generic\";\r\n filterEntryGeneric.productNumber = \"GENERIC\";\r\n filterEntryGeneric.entryType = MyDownloadsFilterEntryType.Generic;\r\n\r\n let filterConfig: MyDownloadsFilterConfig = new MyDownloadsFilterConfig();\r\n filterConfig.maxYear = 2020;\r\n filterConfig.minYear = 2018;\r\n filterConfig.filterEntries = [\r\n filterEntryMagazin,\r\n filterEntryBook,\r\n filterEntryGeneric\r\n ];\r\n\r\n return filterConfig;\r\n }\r\n\r\n /**\r\n * Returns the a download entry by product id\r\n * @param productNumber Number of the product\r\n */\r\n public async getDownloadByProductNumber(productNumber: string): Promise {\r\n await mockLoadingTime();\r\n\r\n let downloadEntry: MyDownloadsEntry = new MyDownloadsEntry();\r\n downloadEntry.id = Guid.create().toString();\r\n downloadEntry.filename = \"testfile.pdf\";\r\n downloadEntry.entryType = MyDownloadsFilterEntryType.Book;\r\n\r\n return downloadEntry;\r\n }\r\n \r\n /**\r\n * Adds a favorite for an entry\r\n * @param entryId Id of the entry\r\n */\r\n public async addFavorite(entryId: string): Promise {\r\n await mockLoadingTime();\r\n }\r\n \r\n /**\r\n * Removes a favorite for an entry\r\n * @param entryId Id of the entry\r\n */\r\n public async removeFavorite(entryId: string): Promise {\r\n await mockLoadingTime();\r\n }\r\n}\r\n\r\nexport default MockMyDownloadsService;","import IMyDownloadsService from './IMyDownloads.service';\r\nimport TrackedHttpClient from './../trackedHttpClient/TrackedHttpClient.service';\r\nimport MyDownloadsQueryResult from './../../dto/myDownloads/MyDownloadsQueryResult';\r\nimport MyDownloadsFilterConfig from '../../dto/myDownloads/MyDownloadsFilterConfig';\r\nimport MyDownloadsFilterEntryType from '../../dto/myDownloads/MyDownloadsFilterEntryType';\r\nimport MyDownloadsFilter from \"../../dto/myDownloadsFilter/MyDownloadsFilter\";\r\nimport fixEnum from '../../util/FixEnum';\r\nimport MyDownloadsEntry from '../../dto/myDownloads/MyDownloadsEntry';\r\n\r\n/**\r\n * Web service for my downloads services\r\n */\r\nclass WebMyDownloadsService implements IMyDownloadsService {\r\n /**\r\n * Loads the downloads for the currrent user\r\n * @param page Current page\r\n * @param pageSize Page size\r\n * @param onlyFavorites true if only favorites must be returned, else false\r\n * @param filter Filter to use\r\n * @returns Downloads for the user\r\n */\r\n public async getMyDownloads(page: number, pageSize: number, onlyFavorites: boolean, filter: MyDownloadsFilter): Promise {\r\n return await TrackedHttpClient.post(`/api/myDownloads?page=${page}&pageSize=${pageSize}&onlyFavorites=${onlyFavorites}`, filter);\r\n }\r\n\r\n /**\r\n * Loads the download config for the current user\r\n * @param onlyFavorites true if only favorites must be returned, else false\r\n * @returns Downloads config\r\n */\r\n public async getMyDownloadsConfig(onlyFavorites: boolean): Promise {\r\n let downloadConfig = await TrackedHttpClient.get(`/api/myDownloads/filterConfig?onlyFavorites=${onlyFavorites}`);\r\n if(downloadConfig.filterEntries) {\r\n for(let curEntry of downloadConfig.filterEntries) {\r\n curEntry.entryType = fixEnum(curEntry.entryType, MyDownloadsFilterEntryType);\r\n }\r\n }\r\n\r\n return downloadConfig;\r\n }\r\n\r\n /**\r\n * Returns the a download entry by product number\r\n * @param productNumber Number of the product\r\n */\r\n public getDownloadByProductNumber(productNumber: string): Promise {\r\n return TrackedHttpClient.get(`/api/myDownloads/byProductNumber?productNumber=${productNumber}`);\r\n }\r\n\r\n /**\r\n * Adds a favorite for an entry\r\n * @param entryId Id of the entry\r\n */\r\n public async addFavorite(entryId: string): Promise {\r\n await TrackedHttpClient.post(`/api/favorite?entryId=${encodeURIComponent(entryId)}`, {});\r\n }\r\n \r\n /**\r\n * Removes a favorite for an entry\r\n * @param entryId Id of the entry\r\n */\r\n public async removeFavorite(entryId: string): Promise {\r\n await TrackedHttpClient.delete(`/api/favorite?entryId=${encodeURIComponent(entryId)}`, {});\r\n }\r\n}\r\n\r\nexport default WebMyDownloadsService;","/**\n * Helper function to fix enum values\n * @param value Value that is being mapped\n * @param enumType Enum Type\n * @returns Fixed enum value\n */\nexport default function fixEnum(value:any, enumType:any) {\n if(!value) {\n return value;\n }\n\n if(typeof(value) !== \"string\") {\n return value;\n }\n\n return enumType[(value.toString() as any)] as any;\n}","// Util\r\nimport isDevMode from './../../util/IsDevMode';\r\n\r\n// Services\r\nimport IMyDownloadsService from './IMyDownloads.service';\r\nimport MockMyDownloadsService from './MockMyDownloads.service';\r\nimport WebMyDownloadsService from './WebMyDownloads.service';\r\n\r\n/**\r\n * Factory class to provide my downloads service\r\n */\r\nexport default class MyDownloadsFactoryService {\r\n /**\r\n * Returns the my downloads service\r\n * @returns My Downloads service\r\n */\r\n public static getMyDownloadsService(): IMyDownloadsService {\r\n if (isDevMode()) {\r\n return new MockMyDownloadsService();\r\n }\r\n\r\n return new WebMyDownloadsService();\r\n }\r\n}","import MyDownloadsFilterEntry from './../myDownloads/MyDownloadsFilterEntry';\r\nimport MyDownloadsFilterEntryType from '../myDownloads/MyDownloadsFilterEntryType';\r\n\r\n/**\r\n * Filter for my downloads\r\n */\r\nclass MyDownloadsFilter {\r\n /**\r\n * Search query\r\n */\r\n public searchQuery: string;\r\n\r\n /**\r\n * Minimum filter date\r\n */\r\n public minDate: Date | null;\r\n\r\n /**\r\n * Maximum filter date\r\n */\r\n public maxDate: Date | null;\r\n\r\n /**\r\n * Formats to use\r\n */\r\n public formats: MyDownloadsFilterEntryType[];\r\n\r\n /**\r\n * Filter entries to use\r\n */\r\n public filterEntries: MyDownloadsFilterEntry[];\r\n\r\n /**\r\n * Constructor\r\n */\r\n public constructor() {\r\n this.searchQuery = \"\";\r\n this.minDate = null;\r\n this.maxDate = null;\r\n this.formats = [];\r\n this.filterEntries = [];\r\n }\r\n}\r\n\r\nexport default MyDownloadsFilter;","import MyDownloadsFilter from '../../../../../dto/myDownloadsFilter/MyDownloadsFilter';\r\nimport MyDownloadsFilterEntry from '../../../../../dto/myDownloads/MyDownloadsFilterEntry';\r\nimport AvailableFilterFormat from './AvailableFilterFormat';\r\n\r\n/**\r\n * Filter panel state\r\n */\r\nclass FilterPanelState {\r\n /**\r\n * Constructed filter\r\n */\r\n public filter: MyDownloadsFilter;\r\n\r\n /**\r\n * true if the year filter should be shown, else false\r\n */\r\n public showYearFilter: boolean;\r\n\r\n /**\r\n * Minimum year\r\n */\r\n public minYear: number;\r\n\r\n /**\r\n * Maximum year\r\n */\r\n public maxYear: number;\r\n\r\n /**\r\n * Available formats to filter\r\n */\r\n public availableFormats: AvailableFilterFormat[];\r\n\r\n /**\r\n * Available filter entries\r\n */\r\n public filterEntries: MyDownloadsFilterEntry[];\r\n\r\n /**\r\n * true if the filter config is being loaded\r\n */\r\n public isLoading: boolean;\r\n\r\n /**\r\n * true if an error occured during loading, else false\r\n */\r\n public errorOccured: boolean;\r\n\r\n /**\r\n * Constructor\r\n */\r\n public constructor() {\r\n this.filter = new MyDownloadsFilter();\r\n this.showYearFilter = false;\r\n this.minYear = 0;\r\n this.maxYear = 0;\r\n this.availableFormats = [];\r\n this.filterEntries = [];\r\n this.isLoading = false;\r\n this.errorOccured = false;\r\n }\r\n}\r\n\r\nexport default FilterPanelState;","import MyDownloadsFilterEntryType from \"../../../../../dto/myDownloads/MyDownloadsFilterEntryType\";\r\n\r\n/**\r\n * Available filter formats\r\n */\r\nclass AvailableFilterFormat {\r\n /**\r\n * Langkey for the display\r\n */\r\n public langKey: string;\r\n\r\n /**\r\n * Format\r\n */\r\n public format: MyDownloadsFilterEntryType;\r\n\r\n /**\r\n * Constructor\r\n * @param langKey Langkey for the display\r\n * @param format Filter format\r\n */\r\n public constructor(langKey: string, format: MyDownloadsFilterEntryType) {\r\n this.langKey = langKey;\r\n this.format = format;\r\n }\r\n}\r\n\r\nexport default AvailableFilterFormat;","import React, { ReactNode } from 'react';\r\n\r\n// Library\r\nimport { TextField, Toggle, Checkbox, FontClassNames, FontWeights, ColorClassNames, Stack, FontSizes, Spinner, SpinnerSize, Icon, IStackTokens, Dropdown } from 'office-ui-fabric-react';\r\nimport { TFunction } from 'i18next';\r\n\r\n// Components\r\nimport TranslatedComponent from '../../../../localization/TranslatedComponent';\r\nimport styles from './FilterPanel.module.css';\r\n\r\n// Util\r\nimport debounce from '../../../../util/Debounce';\r\n\r\n// Services\r\nimport MyDownloadsFactoryService from '../../../../services/myDownloads/MyDownloadsFactory.service';\r\n\r\n// Dto\r\nimport IFilterPanelProps from './dto/IFilterPanelProps';\r\nimport FilterPanelState from './dto/FilterPanelState';\r\nimport AvailableFilterFormat from './dto/AvailableFilterFormat';\r\nimport MyDownloadsFilter from '../../../../dto/myDownloadsFilter/MyDownloadsFilter';\r\nimport MyDownloadsFilterConfig from '../../../../dto/myDownloads/MyDownloadsFilterConfig';\r\nimport MyDownloadsFilterEntry from '../../../../dto/myDownloads/MyDownloadsFilterEntry';\r\nimport MyDownloadsFilterEntryType from '../../../../dto/myDownloads/MyDownloadsFilterEntryType';\r\nimport { IDropdownOption } from '@uifabric/react-cards/node_modules/office-ui-fabric-react';\r\n\r\n/**\r\n * Filterpanel for my downloads Component\r\n */\r\nclass FilterPanel extends TranslatedComponent {\r\n\r\n /**\r\n * Available formats\r\n */\r\n private readonly _availableFormats: AvailableFilterFormat[] = [\r\n new AvailableFilterFormat(\"downloadFilterPanel.formatMagazin\", MyDownloadsFilterEntryType.Magazin),\r\n new AvailableFilterFormat(\"downloadFilterPanel.formatBook\", MyDownloadsFilterEntryType.Book),\r\n new AvailableFilterFormat(\"downloadFilterPanel.formatVideo\", MyDownloadsFilterEntryType.Video),\r\n new AvailableFilterFormat(\"downloadFilterPanel.genericFile\", MyDownloadsFilterEntryType.Generic)\r\n ];\r\n\r\n /**\r\n * Debounced function to propagte the filter to the parent component\r\n */\r\n private debouncedPropagateFilterToParent: () => void;\r\n\r\n /**\r\n * Constructor\r\n * @param props Input props\r\n */\r\n public constructor(props: Readonly) {\r\n super(props);\r\n\r\n this.debouncedPropagateFilterToParent = debounce(this.propagateFilterToParent, this, 400, false);\r\n\r\n let state = new FilterPanelState();\r\n state.filter.formats = this._availableFormats.map(f => f.format);\r\n state.filter.filterEntries = [];\r\n\r\n this.state = state;\r\n }\r\n\r\n /**\r\n * Loads the filter config\r\n */\r\n public componentDidMount() {\r\n this.setState({\r\n isLoading: true,\r\n errorOccured: false\r\n });\r\n\r\n MyDownloadsFactoryService.getMyDownloadsService().getMyDownloadsConfig(this.props.favoritesOnly).then((filterConfig) => {\r\n let availableFormats = this.getAvailableFormatFilters(filterConfig);\r\n \r\n let magazinFilterEntries = filterConfig.filterEntries;\r\n \r\n let filter = { ...this.state.filter };\r\n filter.filterEntries = [ ...magazinFilterEntries ];\r\n \r\n this.setState({\r\n filter: filter,\r\n showYearFilter: filterConfig.minYear !== filterConfig.maxYear,\r\n minYear: filterConfig.minYear,\r\n maxYear: filterConfig.maxYear,\r\n availableFormats: availableFormats,\r\n filterEntries: magazinFilterEntries,\r\n isLoading: false\r\n });\r\n\r\n this.propagateFilterToParent();\r\n }, (err) => {\r\n this.setState({\r\n isLoading: false,\r\n errorOccured: true\r\n });\r\n });\r\n }\r\n\r\n /**\r\n * Returns the available format filters\r\n * @param filterConfig Filter config to check\r\n * @returns Available format filters\r\n */\r\n private getAvailableFormatFilters(filterConfig: MyDownloadsFilterConfig): AvailableFilterFormat[] {\r\n let availableFormatFilters: AvailableFilterFormat[] = [];\r\n let usedFormats: any = {};\r\n for(let curEntry of filterConfig.filterEntries)\r\n {\r\n if(usedFormats[curEntry.entryType])\r\n {\r\n continue;\r\n }\r\n\r\n usedFormats[curEntry.entryType] = true;\r\n let filterFormat = this._availableFormats.find(a => a.format === curEntry.entryType);\r\n if(filterFormat) {\r\n availableFormatFilters.push(filterFormat);\r\n }\r\n }\r\n\r\n return availableFormatFilters;\r\n }\r\n\r\n /**\r\n * Renders the filter panel component\r\n * @param t Translate function\r\n */\r\n protected renderWithTranslation(t: TFunction): ReactNode {\r\n return (\r\n
\r\n

{t(\"downloadFilterPanel.header\")}{this.props.isLoading && }

\r\n\r\n this.onQueryChanged(newVal)}>\r\n {this.state.isLoading && !this.state.errorOccured && this.renderLoadingSpinner()}\r\n {!this.state.isLoading && this.state.errorOccured && this.renderErrorDisplay(t)}\r\n {!this.state.isLoading && !this.state.errorOccured && this.renderFilterPanel(t)}\r\n
\r\n );\r\n }\r\n\r\n /**\r\n * Renders a loading spinner while the download config is being loaded\r\n */\r\n private renderLoadingSpinner = (): ReactNode => {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n\r\n /**\r\n * Renders an error if the filter config can not be loaded\r\n * @param t Translate function\r\n */\r\n private renderErrorDisplay = (t: TFunction): ReactNode => {\r\n return (\r\n
\r\n \r\n
{t(\"general.errorOccured\")}
\r\n
\r\n );\r\n }\r\n\r\n /**\r\n * Renders the filter panel\r\n * @param t Translate function\r\n */\r\n private renderFilterPanel = (t: TFunction): ReactNode => {\r\n const addProductStackTokens: IStackTokens = {\r\n childrenGap: 10\r\n };\r\n \r\n const yearFilters: IDropdownOption[] = [ { key: -1, text: \"\" } ];\r\n for(let curYear = this.state.minYear; curYear <= this.state.maxYear; ++curYear)\r\n {\r\n yearFilters.push({ key: curYear, text: curYear.toString() });\r\n }\r\n\r\n return (\r\n
\r\n { this.state.showYearFilter &&\r\n
\r\n

{t(\"downloadFilterPanel.dateFilter\")}

\r\n \r\n \r\n \r\n \r\n \r\n -\r\n \r\n \r\n \r\n \r\n \r\n
\r\n }\r\n { this.state.availableFormats.length > 0 && \r\n
\r\n

{t(\"downloadFilterPanel.selectableFormats\")}

\r\n {this.renderSelectableFormats(t)}\r\n
\r\n }\r\n { this.state.filterEntries && this.state.filterEntries.length > 0 &&\r\n
\r\n

{t(\"downloadFilterPanel.selectableMagazins\")}

\r\n {this.renderSelectableMagazins()}\r\n
\r\n }\r\n
);\r\n }\r\n\r\n /**\r\n * Gets called if the min date changed\r\n * @param _ev Selection event\r\n * @param option Selected option\r\n */\r\n private onMinDateChanged = (_ev: React.FormEvent, option?: IDropdownOption): void => {\r\n let date: Date | null = null;\r\n let selectedYear = option ? option.key as number : -1;\r\n if(selectedYear > 0) {\r\n date = new Date(selectedYear, 0, 1, 0, 0, 0);\r\n }\r\n\r\n let filter = { ...this.state.filter };\r\n filter.minDate = date;\r\n this.updateFilter(filter);\r\n }\r\n\r\n /**\r\n * Gets called if the max date changed\r\n * @param date New Date\r\n */\r\n private onMaxDateChanged = (_ev: React.FormEvent, option?: IDropdownOption): void => {\r\n let date: Date | null = null;\r\n let selectedYear = option ? option.key as number : -1;\r\n if(selectedYear > 0) {\r\n date = new Date(selectedYear, 11, 31, 23, 59, 59);\r\n }\r\n\r\n let filter = { ...this.state.filter };\r\n filter.maxDate = date;\r\n this.updateFilter(filter);\r\n }\r\n\r\n /**\r\n * Gets called if the query text was changed\r\n * @param newVal New query text\r\n */\r\n private onQueryChanged = (newVal: string | undefined): void => {\r\n let filter = { ...this.state.filter };\r\n filter.searchQuery = newVal ? newVal : \"\";\r\n this.updateFilter(filter);\r\n }\r\n\r\n /**\r\n * Renders the selectable formats\r\n * @param t Translate function\r\n * @returns Rendered selectable formats\r\n */\r\n private renderSelectableFormats(t: TFunction): React.ReactNode {\r\n let renderedFormats = this.state.availableFormats.map(f =>\r\n { this.toggleFormat(f.format, checked); }}\r\n checked={this.state.filter.formats.find(ff => ff === f.format) !== undefined}>\r\n );\r\n\r\n return (\r\n
\r\n {renderedFormats}\r\n
\r\n )\r\n }\r\n\r\n /**\r\n * Toggles the format selected state\r\n * @param format Format\r\n * @param checked true if the format is checked, else false\r\n */\r\n private toggleFormat(format: MyDownloadsFilterEntryType, checked: boolean | undefined) {\r\n let filter = { ...this.state.filter };\r\n if (checked) {\r\n filter.formats.push(format);\r\n } else {\r\n filter.formats = filter.formats.filter(f => f !== format);\r\n }\r\n this.updateFilter(filter);\r\n }\r\n\r\n /**\r\n * Renders the selectable magazins\r\n * @returns Rendered selectable magazins\r\n */\r\n private renderSelectableMagazins(): React.ReactNode {\r\n let renderedMagazins = this.state.filterEntries.filter(f => f.entryType === MyDownloadsFilterEntryType.Magazin).map(m =>\r\n { this.toggleMagazin(m, checked); }}\r\n checked={this.state.filter.filterEntries.find(fm => fm.productNumber === m.productNumber) !== undefined}>\r\n );\r\n\r\n return (\r\n
\r\n \r\n {renderedMagazins}\r\n \r\n
\r\n )\r\n }\r\n\r\n /**\r\n * Toggles the magazin selected state\r\n * @param magazin Magazin\r\n * @param checked true if the magazin is checked, else false\r\n */\r\n private toggleMagazin(magazin: MyDownloadsFilterEntry, checked: boolean | undefined) {\r\n let filter = { ...this.state.filter };\r\n if (checked) {\r\n filter.filterEntries.push(magazin);\r\n } else {\r\n filter.filterEntries = filter.filterEntries.filter(m => m.productNumber !== magazin.productNumber);\r\n }\r\n this.updateFilter(filter);\r\n }\r\n\r\n /**\r\n * Updates the filter\r\n * @param filter New filter\r\n */\r\n private updateFilter = (filter: MyDownloadsFilter): void => {\r\n this.setState({\r\n filter: filter\r\n }, () => {\r\n this.debouncedPropagateFilterToParent();\r\n });\r\n }\r\n\r\n /**\r\n * Propagates the filter to the parent componetn\r\n */\r\n private propagateFilterToParent = (): void => {\r\n this.props.onFilterChanged(this.state.filter);\r\n }\r\n}\r\n\r\nexport default FilterPanel; ","import DocumentDetailEntry from \"../../../../../dto/documentAccess/DocumentDetailEntry\";\r\n\r\n/**\r\n * Document entry info sidepanel state class\r\n */\r\nclass DocumentEntryInfoSidePanelState {\r\n /**\r\n * Document entry\r\n */\r\n public documentEntry: DocumentDetailEntry | null;\r\n\r\n /**\r\n * true if a load operation is in progress\r\n */\r\n public isLoading: boolean;\r\n\r\n /**\r\n * true if an error occured\r\n */\r\n public errorOccured: boolean;\r\n\r\n /**\r\n * Constructor\r\n */\r\n public constructor()\r\n {\r\n this.documentEntry = null;\r\n this.isLoading = false;\r\n this.errorOccured = false;\r\n }\r\n}\r\n\r\nexport default DocumentEntryInfoSidePanelState;","import { TFunction } from 'i18next';\r\n\r\n/**\r\n * Ensures the length of a number value as a string\r\n * @param val Value to format\r\n * @returns Number as string\r\n */\r\nfunction ensureLengthOfTwo(val: number): string {\r\n let formattedVal = val.toString();\r\n if(formattedVal.length < 2)\r\n {\r\n formattedVal = \"0\" + formattedVal;\r\n }\r\n\r\n return formattedVal;\r\n}\r\n\r\n/**\r\n * Formats a date\r\n * @param t Translate function\r\n * @param date Date to Format\r\n * @param includeTime true if the time must be included\r\n */\r\nexport default function formatDate(t:TFunction, date?: Date, includeTime: boolean = false): string {\r\n if(!date) {\r\n return \"\";\r\n }\r\n\r\n let format = t(!includeTime ? \"general.dateFormat\" : \"general.dateTimeFormat\");\r\n format = format.replace(/dd/, ensureLengthOfTwo(date.getDate()));\r\n format = format.replace(/MM/, ensureLengthOfTwo(date.getMonth() + 1));\r\n format = format.replace(/yyyy/, date.getFullYear().toString());\r\n format = format.replace(/hh/, ensureLengthOfTwo(date.getHours()));\r\n format = format.replace(/mm/, ensureLengthOfTwo(date.getMinutes()));\r\n format = format.replace(/ss/, ensureLengthOfTwo(date.getSeconds()));\r\n\r\n return format;\r\n}","import React, { ReactNode } from 'react';\r\n\r\n// Library\r\nimport { TFunction } from 'i18next';\r\nimport { Panel, DefaultButton, Spinner, SpinnerSize, MessageBar, MessageBarType, PanelType, Label } from 'office-ui-fabric-react';\r\nimport 'office-ui-fabric-core/dist/css/fabric.min.css';\r\nimport sanitizeHtml from 'sanitize-html';\r\n\r\n// Components\r\nimport TranslatedComponent from '../../../../localization/TranslatedComponent';\r\nimport styles from './DocumentEntryInfoSidePanel.module.css';\r\n\r\n// Services\r\nimport DocumentAccessFactory from '../../../../services/documentAccess/DocumentAccessFactory.service';\r\n\r\n// Dto\r\nimport IDocumentEntryInfoSidePanelProps from './dto/IDocumentEntryInfoSidePanelProps';\r\nimport DocumentEntryInfoSidePanelState from './dto/DocumentEntryInfoSidePanelState';\r\n\r\n// Util\r\nimport formatDate from '../../../../util/FormatDate';\r\n\r\n/**\r\n * Document entry info panel Component\r\n */\r\nclass DocumentEntryInfoSidePanel extends TranslatedComponent {\r\n /**\r\n * Constructor\r\n * @param props Input props\r\n */\r\n public constructor(props: Readonly) {\r\n super(props);\r\n\r\n this.state = new DocumentEntryInfoSidePanelState();\r\n }\r\n\r\n /**\r\n * Gets called if the component is updated\r\n * @param prevProps Previous props\r\n */\r\n public componentDidUpdate(prevProps: IDocumentEntryInfoSidePanelProps) {\r\n if (this.props.downloadEntryToShow !== null && prevProps.downloadEntryToShow === null) {\r\n this.setState({\r\n documentEntry: null,\r\n isLoading: true\r\n });\r\n\r\n DocumentAccessFactory.getDocumentAccessService().getDocumentEntryDetails(this.props.downloadEntryToShow.id).then((documentEntry) => {\r\n this.setState({\r\n documentEntry: documentEntry,\r\n isLoading: false\r\n });\r\n }, () => {\r\n this.setState({\r\n isLoading: false,\r\n errorOccured: true\r\n })\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * Renders the administration component\r\n * @param t Translate function\r\n * @returns Rendered component\r\n */\r\n protected renderWithTranslation(t: TFunction): ReactNode {\r\n return (\r\n this.renderPanelFooter(t)}\r\n isFooterAtBottom={true}\r\n type={PanelType.medium}\r\n isLightDismiss={true}>\r\n {this.renderErrorOccured(t)}\r\n\r\n {this.state.isLoading &&
}\r\n {!this.state.isLoading && this.renderDocumentEntryInfo(t)}\r\n \r\n );\r\n }\r\n\r\n /**\r\n * Renders the document entry info\r\n * @param t Translate function\r\n * @returns Rendered info\r\n */\r\n private renderDocumentEntryInfo = (t: TFunction): JSX.Element | null => {\r\n if(!this.state.documentEntry) {\r\n return null;\r\n }\r\n\r\n return (\r\n
\r\n
\r\n \r\n {this.state.documentEntry.subTitle}\r\n
\r\n
\r\n \r\n {this.state.documentEntry.ean}\r\n
\r\n
\r\n \r\n {this.state.documentEntry.isbn}\r\n
\r\n
\r\n \r\n {this.state.documentEntry.edition}\r\n
\r\n
\r\n \r\n {this.state.documentEntry.author}\r\n
\r\n
\r\n \r\n {this.state.documentEntry.editor}\r\n
\r\n
\r\n \r\n {this.state.documentEntry.publisher}\r\n
\r\n
\r\n \r\n {this.state.documentEntry.pageCount}\r\n
\r\n
\r\n \r\n {formatDate(t, this.state.documentEntry.publicationDate)}\r\n
\r\n {this.state.documentEntry.tags && \r\n
\r\n \r\n {this.state.documentEntry.tags.split(\";\").join(\", \")}\r\n
}\r\n
\r\n \r\n
\r\n
\r\n
\r\n );\r\n }\r\n\r\n /**\r\n * Renders the panel footer\r\n * @param t Translate function\r\n */\r\n private renderPanelFooter(t: TFunction): JSX.Element | null {\r\n return (\r\n
\r\n {t(\"general.close\")}\r\n
\r\n );\r\n }\r\n\r\n /**\r\n * Renders a message that an error occured\r\n * @param t Translate function\r\n */\r\n private renderErrorOccured(t: TFunction): ReactNode {\r\n if (!this.state.errorOccured) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n {t(\"general.errorOccured\")}\r\n \r\n )\r\n }\r\n \r\n /**\r\n * Removes the error banner\r\n */\r\n private removeErrorBanner = (): void => {\r\n this.setState({\r\n errorOccured: false\r\n })\r\n }\r\n}\r\n\r\nexport default DocumentEntryInfoSidePanel; ","import MyDownloadsQueryResult from './../../../dto/myDownloads/MyDownloadsQueryResult';\r\nimport MyDownloadsEntry from '../../../dto/myDownloads/MyDownloadsEntry';\r\nimport MyDownloadsFilter from '../../../dto/myDownloadsFilter/MyDownloadsFilter';\r\n\r\n/**\r\n * My Downloads Page state\r\n */\r\nclass MyDownloadsState {\r\n /**\r\n * true if the filter panel must be shown, else false\r\n */\r\n public showFilterPanel: boolean;\r\n\r\n /**\r\n * Filter to use\r\n */\r\n public filter: MyDownloadsFilter;\r\n\r\n /**\r\n * Current query result of data\r\n */\r\n public queryResult: MyDownloadsQueryResult | null;\r\n\r\n /**\r\n * Download entry for which the details must be shown\r\n */\r\n public detailDownloadEntry: MyDownloadsEntry | null;\r\n\r\n /**\r\n * true if an error occured, else false\r\n */\r\n public errorOccured: boolean;\r\n\r\n /**\r\n * true if a page is being loaded\r\n */\r\n public pageLoading: boolean;\r\n\r\n /**\r\n * Current page\r\n */\r\n public page: number;\r\n\r\n /**\r\n * true if view loading spinner must be shown\r\n */\r\n public showViewLoadingSpinner: boolean;\r\n \r\n /**\r\n * true if the product number in the url is invalid\r\n */\r\n public invalidProductNumberUrl: boolean;\r\n\r\n /**\r\n * Product number of the object that is previewed from the url\r\n */\r\n public urlProductNumberPreview: string;\r\n\r\n /**\r\n * true if an error occured while loading product by url\r\n */\r\n public errorLoadingProductByUrl: boolean;\r\n\r\n /**\r\n * id of the file who will watched\r\n */\r\n public viewFile: string;\r\n\r\n /**\r\n * id of the video who will watched\r\n */\r\n public viewVideo: string;\r\n\r\n /**\r\n * Fullpage view\r\n */\r\n public viewFileZoom: boolean;\r\n\r\n /**\r\n * True if search results will be displayed\r\n */\r\n public displayingSearchResult: boolean;\r\n\r\n /**\r\n * Constructor\r\n */\r\n public constructor() {\r\n this.showFilterPanel = false;\r\n this.filter = new MyDownloadsFilter();\r\n this.queryResult = null;\r\n this.detailDownloadEntry = null;\r\n this.pageLoading = false;\r\n this.page = 0;\r\n this.errorOccured = false;\r\n this.showViewLoadingSpinner = false;\r\n this.urlProductNumberPreview = \"\";\r\n this.invalidProductNumberUrl = false;\r\n this.errorLoadingProductByUrl = false;\r\n this.viewFile = \"\";\r\n this.viewFileZoom = false;\r\n this.viewVideo = \"\";\r\n this.displayingSearchResult = false;\r\n }\r\n}\r\n\r\nexport default MyDownloadsState;","import React, { ReactNode } from 'react';\r\n\r\n// Library\r\nimport { Icon, IIconStyles, Image, Stack, getTheme, IStackTokens, Text, ITextStyles, FontClassNames, FontWeights, ColorClassNames, MessageBar, MessageBarType, FontSizes, IconButton, Spinner, SpinnerSize } from 'office-ui-fabric-react';\r\nimport { Card, ICardTokens, ICardSectionStyles, ICardSectionTokens } from '@uifabric/react-cards';\r\n\r\nimport { TFunction } from 'i18next';\r\nimport { Redirect } from 'react-router-dom';\r\n\r\n// Components\r\nimport TranslatedComponent from '../../localization/TranslatedComponent';\r\nimport FilterPanel from './components/filterPanel/FilterPanel';\r\nimport DocumentEntryInfoSidePanel from './components/documentEntryInfoSidePanel/DocumentEntryInfoSidePanel';\r\nimport styles from './MyDownloads.module.css';\r\n\r\n// Services\r\nimport MyDownloadsFactoryService from '../../services/myDownloads/MyDownloadsFactory.service';\r\n\r\n// Dto\r\nimport IMyDownloadsProps from './dto/IMyDownloadsProps';\r\nimport MyDownloadsState from './dto/MyDownloadsState';\r\nimport MyDownloadsEntry from '../../dto/myDownloads/MyDownloadsEntry';\r\nimport MyDownloadsFilter from '../../dto/myDownloadsFilter/MyDownloadsFilter';\r\nimport MyDownloadsFilterEntryType from '../../dto/myDownloads/MyDownloadsFilterEntryType';\r\n\r\n/**\r\n * My Downloads Component\r\n */\r\nclass MyDownloads extends TranslatedComponent {\r\n /**\r\n * Book prefix\r\n */\r\n private readonly _bookPrefix = \"b_\";\r\n\r\n /**\r\n * Theme\r\n */\r\n private readonly _theme = getTheme();\r\n\r\n /**\r\n * Page size of the downloads to load\r\n */\r\n private readonly pageSize: number = 6;\r\n\r\n /**\r\n * Constructor\r\n * @param props Input props\r\n */\r\n public constructor(props: Readonly) {\r\n super(props);\r\n\r\n let state = new MyDownloadsState();\r\n this.getProductNumberFromUrl(state);\r\n this.state = state;\r\n }\r\n\r\n /**\r\n * Returns the product number from the url\r\n */\r\n private getProductNumberFromUrl(state: MyDownloadsState): void {\r\n if(!this.props.fromUrlPreview) {\r\n return;\r\n }\r\n\r\n let parsedUrl = window.location.pathname.split(\"/\").filter(c => c !== \"\");\r\n if(parsedUrl.length !== 1) {\r\n state.invalidProductNumberUrl = true;\r\n return;\r\n }\r\n\r\n let productNumberPreview = parsedUrl[0];\r\n if(productNumberPreview.length <= 4 || isNaN(parseInt(productNumberPreview))) {\r\n state.invalidProductNumberUrl = true;\r\n return;\r\n }\r\n\r\n state.urlProductNumberPreview = this._bookPrefix + productNumberPreview;\r\n }\r\n\r\n /**\r\n * Gets called if the component gets mounted\r\n */\r\n public componentDidMount() {\r\n if(!this.state.urlProductNumberPreview) {\r\n return;\r\n }\r\n\r\n MyDownloadsFactoryService.getMyDownloadsService().getDownloadByProductNumber(this.state.urlProductNumberPreview).then((productData) => {\r\n this.setState({\r\n urlProductNumberPreview: \"\"\r\n }, () => {\r\n this.onShowEntryInline(productData);\r\n });\r\n }, () => {\r\n this.setState({\r\n errorLoadingProductByUrl: true\r\n })\r\n });\r\n }\r\n\r\n /**\r\n * Renders the my downloads component\r\n */\r\n protected renderWithTranslation(t: TFunction): ReactNode {\r\n return (\r\n
\r\n {this.renderAnonymouseUserRedirect()}\r\n {this.renderNotFoundRedirectOnInvalidUrl()}\r\n {this.renderErrorOccured(t)}\r\n {this.props.currentUser && this.props.currentUser.isAuthenticated &&\r\n
\r\n {this.state.viewFile === \"\" && this.state.viewVideo === \"\" && this.state.urlProductNumberPreview === \"\" ?\r\n this.renderMainContent(t) : null\r\n }\r\n {this.state.viewFile !== \"\" ?\r\n
\r\n
\r\n {this.state.showViewLoadingSpinner &&
\r\n \r\n
}\r\n \r\n { this.setState({ \"viewFile\": \"\", \"viewFileZoom\": false }) }} />\r\n \r\n
\r\n
: null}\r\n {this.state.viewVideo !== \"\" ?\r\n
\r\n
\r\n {this.state.showViewLoadingSpinner &&
\r\n \r\n
}\r\n \r\n { this.setState({ \"viewVideo\": \"\", \"viewFileZoom\": false }) }} />\r\n
\r\n

\r\n \r\n

\r\n
\r\n
\r\n : null}\r\n {this.state.urlProductNumberPreview !== \"\" &&\r\n
\r\n {!this.state.errorLoadingProductByUrl && }\r\n {this.state.errorLoadingProductByUrl && \r\n
\r\n
\r\n {t(\"myDownloads.noAccessToFileOrNotFound\")}\r\n
}\r\n
\r\n }\r\n
\r\n }\r\n\r\n {this.state.viewFile === \"\" && this.state.viewVideo === \"\" && this.state.urlProductNumberPreview === \"\" && this.renderFilterPanel()}\r\n\r\n \r\n
\r\n );\r\n }\r\n\r\n /**\r\n * Renders the main content\r\n * @param t Translate function\r\n * @returns Rendered component\r\n */\r\n private renderMainContent(t: TFunction): React.ReactNode {\r\n return (\r\n
\r\n
\r\n
\r\n

\r\n {t(!this.props.favoritesOnly ? \"myDownloads.header\" : \"myDownloads.favoritesHeader\")}\r\n \r\n

\r\n {this.renderDownloadList()}\r\n
\r\n { this.changeDisplayPage(-1); }}>\r\n { this.changeDisplayPage(1); }}>\r\n
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n\r\n\r\n /**\r\n * Renders the filter panel\r\n * @returns Rendered component\r\n */\r\n private renderFilterPanel(): React.ReactNode {\r\n let hideStyle = !this.state.showFilterPanel ? styles.hideFilterPanelInSmall : \"\";\r\n\r\n return (\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n );\r\n }\r\n\r\n /**\r\n * Shows the filter panel\r\n */\r\n private onShowFilterPanel = (): void => {\r\n this.setState({\r\n showFilterPanel: true\r\n });\r\n }\r\n\r\n /**\r\n * Closes the filter panel\r\n */\r\n private onCloseFilterPanel = (): void => {\r\n this.setState({\r\n showFilterPanel: false\r\n });\r\n }\r\n\r\n /**\r\n * Zooms the actual shown file to page max\r\n */\r\n private fileZoom = (): void => {\r\n window.scrollTo(0, 0);\r\n this.setState({ \"viewFileZoom\": !this.state.viewFileZoom });\r\n }\r\n\r\n /**\r\n * Gets called if the view loading spinner must be hidden\r\n */\r\n private onHideViewLoadingSpinner = (): void => {\r\n this.setState({\r\n showViewLoadingSpinner: false\r\n })\r\n }\r\n\r\n /**\r\n * Renders a redirect for a logged in user\r\n */\r\n private renderAnonymouseUserRedirect(): ReactNode {\r\n if (this.props.currentUser && this.props.currentUser.isAuthenticated) {\r\n return null;\r\n }\r\n\r\n let redirectUrl = \"\";\r\n if(this.state.urlProductNumberPreview) {\r\n redirectUrl = \"/\" + this.state.urlProductNumberPreview.substr(this._bookPrefix.length);\r\n } else {\r\n redirectUrl = !this.props.favoritesOnly ? \"/myDownloads\" : \"/favorites\";\r\n }\r\n\r\n return ();\r\n }\r\n\r\n /**\r\n * Renders a redirect for invalid url\r\n */\r\n private renderNotFoundRedirectOnInvalidUrl(): ReactNode {\r\n if (!this.state.invalidProductNumberUrl) {\r\n return null;\r\n }\r\n\r\n return ();\r\n }\r\n\r\n /**\r\n * Renders a message that an error occured\r\n * @param t Translate function\r\n */\r\n private renderErrorOccured(t: TFunction): ReactNode {\r\n if (!this.state.errorOccured) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n {t(\"general.errorOccured\")}\r\n \r\n )\r\n }\r\n\r\n /**\r\n * Downloads a file\r\n * @param fileId Id of the file\r\n */\r\n private downloadFile = (fileId: string): void => {\r\n window.location.assign(\"/api/myDownloads/download?fileId=\" + fileId)\r\n };\r\n\r\n /**\r\n * Renders the download list\r\n */\r\n private renderDownloadList(): React.ReactNode {\r\n if (!this.state.queryResult || !this.state.queryResult.entries) {\r\n return null;\r\n }\r\n const sectionStackTokens: IStackTokens = { childrenGap: 20 };\r\n\r\n return (
\r\n\r\n \r\n {this.state.queryResult.entries.map((e) => this.renderDownloadCard(e))}\r\n \r\n
);\r\n }\r\n\r\n /**\r\n * Renders a download card\r\n * @param e Rend\r\n */\r\n private renderDownloadCard(entry: MyDownloadsEntry): JSX.Element {\r\n const siteTextStyles: ITextStyles = {\r\n root: {\r\n color: this._theme.palette.themeTertiary,\r\n fontWeight: FontWeights.semibold\r\n }\r\n };\r\n const descriptionTextStyles: ITextStyles = {\r\n root: {\r\n color: this._theme.palette.themePrimary,\r\n fontWeight: FontWeights.semibold\r\n }\r\n };\r\n const searchPreviewTextStyles: ITextStyles = {\r\n root: {\r\n color: this._theme.palette.neutralDark,\r\n fontWeight: FontWeights.light\r\n }\r\n };\r\n\r\n const iconStyles: IIconStyles = {\r\n root: {\r\n color: this._theme.palette.themePrimary,\r\n fontSize: FontSizes.mediumPlus,\r\n fontWeight: FontWeights.regular,\r\n cursor: \"pointer\"\r\n }\r\n };\r\n const footerCardSectionStyles: ICardSectionStyles = {\r\n root: {\r\n alignSelf: 'stretch',\r\n borderLeft: '1px solid #F3F2F1'\r\n }\r\n };\r\n\r\n const cardTokens: ICardTokens = { childrenMargin: 12 };\r\n const footerCardSectionTokens: ICardSectionTokens = { padding: '0px 0px 0px 12px' };\r\n\r\n return \r\n \r\n {entry.entryType !== MyDownloadsFilterEntryType.Video && entry.entryType !== MyDownloadsFilterEntryType.Generic &&\r\n \"Preview\"\r\n }\r\n {(entry.entryType === MyDownloadsFilterEntryType.Video || entry.entryType === MyDownloadsFilterEntryType.Generic) &&\r\n
\r\n
\r\n \r\n
\r\n
\r\n }\r\n
\r\n \r\n \r\n {entry.entryType !== MyDownloadsFilterEntryType.Video && entry.entryType !== MyDownloadsFilterEntryType.Generic && {entry.edition} {entry.publicationYear} {entry.pageCount !== 0 ? ({entry.pageCount} Seiten) : null}}\r\n {(entry.entryType === MyDownloadsFilterEntryType.Video || entry.entryType === MyDownloadsFilterEntryType.Generic) && {entry.publicationYear}}\r\n \r\n {entry.title}\r\n {entry.searchHit && }\r\n \r\n \r\n {entry.entryType !== MyDownloadsFilterEntryType.Generic && { this.onShowEntryInline(entry); }} />}\r\n {entry.entryType === MyDownloadsFilterEntryType.Book && { this.onShowDocumentEntryInfo(entry); }} />}\r\n this.toggleFavorite(entry.id)} />\r\n \r\n \r\n \r\n { this.downloadFile(entry.id); }} />\r\n \r\n
;\r\n }\r\n\r\n /**\r\n * Shows a download entry inline\r\n * @param entry Download entry\r\n */\r\n private onShowEntryInline = (entry: MyDownloadsEntry): void => {\r\n window.scrollTo(0, 0);\r\n if (entry.entryType === MyDownloadsFilterEntryType.Video) {\r\n this.setState({\r\n viewVideo: entry.id,\r\n showViewLoadingSpinner: true\r\n });\r\n } else if(entry.entryType !== MyDownloadsFilterEntryType.Generic) {\r\n this.setState({\r\n viewFile: entry.id,\r\n showViewLoadingSpinner: true\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * Shows the info for a document entry\r\n * @param entry Entry for which the details must be shown\r\n */\r\n private onShowDocumentEntryInfo = (entry: MyDownloadsEntry): void => {\r\n this.setState({\r\n detailDownloadEntry: entry\r\n });\r\n }\r\n\r\n /**\r\n * Closes the document entry info panel\r\n */\r\n private onCloseDocumentEntryInfoPanel = (): void => {\r\n this.setState({\r\n detailDownloadEntry: null\r\n });\r\n }\r\n\r\n /**\r\n * Removes the error banner\r\n */\r\n private removeErrorBanner = (): void => {\r\n this.setState({\r\n errorOccured: false\r\n })\r\n }\r\n\r\n /**\r\n * Changes the display page\r\n * @param direction Direction of the paging\r\n */\r\n private changeDisplayPage = (direction: number) => {\r\n let newPage = this.state.page + direction;\r\n if (newPage < 0 || (this.state.queryResult && newPage * this.pageSize > this.state.queryResult.totalCount)) {\r\n return;\r\n }\r\n\r\n this.setState({\r\n page: newPage,\r\n }, () => {\r\n this.loadMyDownloads();\r\n });\r\n }\r\n\r\n /**\r\n * Loads the downloads of the user\r\n */\r\n private loadMyDownloads = async () => {\r\n if (!this.props.currentUser || !this.props.currentUser.isAuthenticated) {\r\n return;\r\n }\r\n\r\n this.setState({\r\n pageLoading: true\r\n });\r\n\r\n try {\r\n let myDownloads = await MyDownloadsFactoryService.getMyDownloadsService().getMyDownloads(this.state.page, this.pageSize, this.props.favoritesOnly, this.state.filter);\r\n this.setState({\r\n queryResult: myDownloads,\r\n errorOccured: false,\r\n pageLoading: false,\r\n displayingSearchResult: myDownloads.entries != null && myDownloads.entries.some(e => !!e.searchHit)\r\n });\r\n }\r\n catch\r\n {\r\n this.setState({\r\n errorOccured: true,\r\n pageLoading: false\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * Gets called if a filter is changed\r\n * @param filter New filter\r\n */\r\n private onFilterChanged = (filter: MyDownloadsFilter) => {\r\n this.setState({\r\n filter: filter,\r\n page: 0\r\n }, () => {\r\n this.loadMyDownloads();\r\n });\r\n }\r\n\r\n /**\r\n * Toggles a favorite for a document\r\n * @param entryId Id of the entry\r\n */\r\n private toggleFavorite = async (entryId: string): Promise => {\r\n if (!this.state.queryResult) {\r\n return;\r\n }\r\n\r\n let queryResult = { ...this.state.queryResult };\r\n let entry = queryResult.entries.find(e => e.id === entryId);\r\n if (!entry) {\r\n return;\r\n }\r\n\r\n let wasFavorited = entry.isFavorited;\r\n entry.isFavorited = !entry.isFavorited;\r\n this.setState({\r\n errorOccured: false,\r\n queryResult: queryResult\r\n });\r\n\r\n try {\r\n if (!wasFavorited) {\r\n await MyDownloadsFactoryService.getMyDownloadsService().addFavorite(entry.id);\r\n }\r\n else {\r\n await MyDownloadsFactoryService.getMyDownloadsService().removeFavorite(entry.id);\r\n }\r\n }\r\n catch\r\n {\r\n this.setState({\r\n errorOccured: true\r\n });\r\n }\r\n }\r\n}\r\n\r\nexport default MyDownloads; ","import UserEntry from \"./UserEntry\";\r\n\r\n/**\r\n * Result of a user query\r\n */\r\nclass UserQueryResult {\r\n /**\r\n * Total count of users\r\n */\r\n public totalCount: number;\r\n\r\n /**\r\n * User Entries\r\n */\r\n public entries: UserEntry[];\r\n\r\n /**\r\n * Constructor\r\n */\r\n public constructor() {\r\n this.totalCount = 0;\r\n this.entries = [];\r\n }\r\n}\r\n\r\nexport default UserQueryResult;","/**\r\n * Entry for user\r\n */\r\nclass UserEntry {\r\n /**\r\n * Id of the user\r\n */\r\n public id: string;\r\n\r\n /**\r\n * Title of the user\r\n */\r\n public name: string;\r\n\r\n /**\r\n * Email of the user\r\n */\r\n public email: string;\r\n\r\n /**\r\n * Username\r\n */\r\n public userName: string;\r\n\r\n /**\r\n * Current session count\r\n */\r\n public sessionCount: number;\r\n\r\n /**\r\n * IP with which the user can authenticate\r\n */\r\n public ipAuth: string;\r\n\r\n /**\r\n * Constructor\r\n */\r\n public constructor() {\r\n this.id = \"\";\r\n this.name = \"\";\r\n this.email = \"\";\r\n this.userName = \"\";\r\n this.sessionCount = 0;\r\n this.ipAuth = \"\";\r\n }\r\n}\r\n\r\nexport default UserEntry;","/**\r\n * Available Product to associate with a user\r\n */\r\nclass AvailableUserProduct {\r\n /**\r\n * Id of the product\r\n */\r\n public id: string;\r\n\r\n /**\r\n * Title of the product\r\n */\r\n public name: string;\r\n\r\n /**\r\n * Filename of the product\r\n */\r\n public filename: string;\r\n\r\n /**\r\n * Constructor\r\n */\r\n public constructor() {\r\n this.id = \"\";\r\n this.name = \"\";\r\n this.filename = \"\";\r\n }\r\n}\r\n\r\nexport default AvailableUserProduct;","import { Guid } from \"guid-typescript\";\r\n\r\n/**\r\n * Product associated with a user\r\n */\r\nclass UserProduct {\r\n /**\r\n * Id of the product\r\n */\r\n public id: string;\r\n\r\n /**\r\n * Product id\r\n */\r\n public productId: string;\r\n\r\n /**\r\n * Title of the product\r\n */\r\n public name: string;\r\n\r\n /**\r\n * Filename of the product\r\n */\r\n public filename: string;\r\n\r\n /**\r\n * Start Date\r\n */\r\n public start: Date;\r\n\r\n /**\r\n * End Date\r\n */\r\n public end: Date;\r\n\r\n /**\r\n * Constructor\r\n * @param productId Product id\r\n * @param name Product name\r\n * @param filename Filename of the product\r\n * @param startDate Start date\r\n * @param endDate End Date\r\n */\r\n public constructor(productId: string, name: string, filename: string, startDate: Date, endDate: Date) {\r\n this.id = Guid.create().toString();\r\n this.productId = productId;\r\n this.name = name;\r\n this.filename = filename;\r\n this.start = new Date(startDate);\r\n this.start.setHours(6);\r\n this.end = new Date(endDate);\r\n this.end.setHours(23);\r\n this.end.setMinutes(59);\r\n }\r\n}\r\n\r\nexport default UserProduct;","import { Guid } from 'guid-typescript';\r\n\r\nimport UserQueryResult from '../../dto/admin/UserQueryResult';\r\nimport mockLoadingTime from './../../util/MockLoadingTime';\r\n\r\nimport IAdminService from './IAdmin.service';\r\nimport UserEntry from '../../dto/admin/UserEntry';\r\nimport UserCreateEditRequest from '../../dto/admin/UserCreateEditRequest';\r\nimport UserData from '../../dto/account/UserData';\r\nimport AvailableUserProduct from '../../dto/admin/AvailableUserProduct';\r\nimport UserProduct from '../../dto/admin/UserProduct';\r\nimport UserSubscription from '../../dto/subscriptions/UserSubscription';\r\nimport AddUserSubscriptionRequest from '../../dto/admin/AddUserSubscriptionRequest';\r\n\r\n/**\r\n * Mock admin services\r\n */\r\nclass MockAdminService implements IAdminService {\r\n /**\r\n * Returns the users\r\n * @param page Page to load\r\n * @param pageSize Pagesize to load\r\n * @param searchQuery Search query\r\n * @returns Userlist\r\n */\r\n public async getUsers(page: number, pageSize: number, searchQuery: string): Promise {\r\n await mockLoadingTime();\r\n\r\n let queryResult: UserQueryResult = new UserQueryResult();\r\n queryResult.totalCount = 100;\r\n \r\n queryResult.entries = [];\r\n for(let curEntry = page * pageSize; curEntry < 100 && curEntry < (page + 1) * pageSize; ++curEntry)\r\n {\r\n let userEntry: UserEntry = new UserEntry();\r\n userEntry.id = curEntry.toString();\r\n userEntry.email = `user${curEntry}@test.local`;\r\n userEntry.name = `User #${curEntry}`;\r\n userEntry.sessionCount = curEntry % 2;\r\n userEntry.ipAuth = curEntry === 0 ? '127.0.0.1-127.0.0.1,255.255.255.255' : '';\r\n\r\n queryResult.entries.push(userEntry);\r\n }\r\n\r\n return queryResult;\r\n }\r\n\r\n /**\r\n * Loads a user by id\r\n * @param userId Id of the user\r\n */\r\n public async getUserById(userId: string): Promise {\r\n await mockLoadingTime();\r\n\r\n let userData = new UserData();\r\n userData.username = \"UsernameOverwrite\"\r\n userData.email = \"user@test.local\";\r\n userData.salutation = \"Herr\";\r\n userData.firstname = \"Vorname\";\r\n userData.lastname = \"Nachname\";\r\n userData.companyName = \"Test Firma\";\r\n userData.companyStreet = \"Firmenstraße\";\r\n userData.companyPostalCode = \"Firmen Postleitzahl\";\r\n userData.companyCity = \"Firmen Stadt\";\r\n userData.companyCountry = \"Firmen Land\";\r\n userData.maxSessionCount = 10;\r\n userData.ipAddress = \"127.0.0.1-127.0.0.1,255.255.255.255\";\r\n\r\n return userData;\r\n }\r\n\r\n /**\r\n * Creates a new user\r\n * @param createRequest Create request \r\n */\r\n public async createUser(createRequest: UserCreateEditRequest): Promise {\r\n await mockLoadingTime();\r\n }\r\n \r\n /**\r\n * Updates a user\r\n * @param userId Id of the user\r\n * @param editRequest Edit request \r\n */\r\n public async updateUser(userId: string, editRequest: UserCreateEditRequest): Promise {\r\n await mockLoadingTime();\r\n }\r\n \r\n /**\r\n * Deletes a user\r\n * @param userId User Id\r\n */\r\n public async deleteUser(userId: string): Promise {\r\n await mockLoadingTime();\r\n }\r\n\r\n /**\r\n * Returns the available user products\r\n * @returns List of user products\r\n */\r\n public async getAvailableUserProducts(): Promise {\r\n await mockLoadingTime();\r\n\r\n let products: AvailableUserProduct[] = [];\r\n for(let curProduct = 0; curProduct < 1000; ++curProduct)\r\n {\r\n let product = new AvailableUserProduct();\r\n product.id = curProduct.toString();\r\n product.name = `Produkt #${curProduct.toString().padStart(2, '0')}`;\r\n product.filename = `product_${curProduct.toString()}.pdf`;\r\n products.push(product);\r\n }\r\n\r\n return products;\r\n }\r\n\r\n /**\r\n * Returns the products of a user which were associated by an admin\r\n * @param userId Id of the user\r\n * @returns List of user products\r\n */\r\n public async getUserAdminProducts(userId: string): Promise {\r\n await mockLoadingTime();\r\n\r\n let products: UserProduct[] = [];\r\n for(let curProduct = 0; curProduct < 10; ++curProduct)\r\n {\r\n let start = new Date(2018 + Math.random() * 2, Math.random() * 12, 1 + Math.random() * 20);\r\n let end = new Date(start.getFullYear(), start.getMonth(), start.getDate());\r\n end.setDate(end.getDate() + (Math.random() * 30));\r\n\r\n let product = new UserProduct(curProduct.toString(), `Produkt #${curProduct.toString().padStart(2, '0')}`, `product_${curProduct.toString()}.pdf`, start, end);\r\n\r\n if(curProduct > 0 && (curProduct % 2) === 0)\r\n {\r\n product.start = new Date(products[curProduct - 1].start);\r\n product.end = new Date(products[curProduct - 1].end);\r\n product.end.setDate(product.end.getDate() + 1);\r\n }\r\n\r\n products.push(product);\r\n }\r\n\r\n return products;\r\n }\r\n \r\n /**\r\n * Saves the user admin products\r\n * @param userId Id of the user\r\n * @param products Products to save\r\n */\r\n public async saveUserAdminProducts(userId: string, products: UserProduct[]): Promise {\r\n await mockLoadingTime();\r\n }\r\n\r\n /**\r\n * Returns a list of user subscriptions\r\n * @param userId Id of the user\r\n * @returns List of user subscription\r\n */\r\n public async getUserSubscriptions(userId: string): Promise {\r\n await mockLoadingTime();\r\n\r\n let subscriptions: UserSubscription[] = [];\r\n for(let curSubscription = 0; curSubscription < 3; ++curSubscription) {\r\n let subscription: UserSubscription = new UserSubscription();\r\n subscription.id = Guid.create().toString();\r\n subscription.subscriptionNumber = \"400000000\" + curSubscription;\r\n subscription.productName = \"Subscription #\" + curSubscription;\r\n subscription.isActive = curSubscription !== 0;\r\n \r\n subscriptions.push(subscription);\r\n }\r\n\r\n return subscriptions;\r\n }\r\n\r\n /**\r\n * Adds a user subscription\r\n * @param subscriptionRequest Subscription request\r\n */\r\n public async addUserSubscription(subscriptionRequest: AddUserSubscriptionRequest): Promise {\r\n await mockLoadingTime();\r\n }\r\n \r\n /**\r\n * Deletes a user subscriptions\r\n * @param subscriptionId Id of the subscription\r\n */\r\n public async deleteUserSubscription(subscriptionId: string): Promise {\r\n await mockLoadingTime();\r\n }\r\n}\r\n\r\nexport default MockAdminService;","import TrackedHttpClient from './../trackedHttpClient/TrackedHttpClient.service';\r\nimport UserQueryResult from '../../dto/admin/UserQueryResult';\r\nimport IAdminService from './IAdmin.service';\r\nimport UserCreateEditRequest from '../../dto/admin/UserCreateEditRequest';\r\nimport UserData from '../../dto/account/UserData';\r\nimport UserProduct from '../../dto/admin/UserProduct';\r\nimport AvailableUserProduct from '../../dto/admin/AvailableUserProduct';\r\nimport UserSubscription from '../../dto/subscriptions/UserSubscription';\r\nimport AddUserSubscriptionRequest from '../../dto/admin/AddUserSubscriptionRequest';\r\n\r\n/**\r\n * Web admin services\r\n */\r\nclass WebAdminService implements IAdminService {\r\n /**\r\n * Returns the users\r\n * @param page Page to load\r\n * @param pageSize Pagesize to load\r\n * @param searchQuery Search query\r\n * @returns Userlist\r\n */\r\n public getUsers(page: number, pageSize: number, searchQuery: string): Promise {\r\n return TrackedHttpClient.get(`/api/admin/users?page=${page}&pageSize=${pageSize}&searchQuery=${encodeURIComponent(searchQuery)}`);\r\n }\r\n\r\n /**\r\n * Loads a user by id\r\n * @param userId Id of the user\r\n */\r\n public getUserById(userId: string): Promise {\r\n return TrackedHttpClient.get(`/api/admin/getUser?id=${userId}`);\r\n }\r\n \r\n /**\r\n * Creates a new user\r\n * @param createRequest Create request \r\n */\r\n public createUser(createRequest: UserCreateEditRequest): Promise {\r\n return TrackedHttpClient.post(`/api/admin/createUser`, createRequest);\r\n }\r\n \r\n /**\r\n * Updates a user\r\n * @param userId Id of the user\r\n * @param editRequest Edit request \r\n */\r\n public updateUser(userId: string, editRequest: UserCreateEditRequest): Promise {\r\n return TrackedHttpClient.post(`/api/admin/updateUser?id=${encodeURIComponent(userId)}`, editRequest);\r\n }\r\n\r\n /**\r\n * Deletes a user\r\n * @param userId User Id\r\n */\r\n public async deleteUser(userId: string): Promise {\r\n return TrackedHttpClient.delete(`/api/admin/deleteUser?id=${encodeURIComponent(userId)}`);\r\n }\r\n\r\n /**\r\n * Returns the available user products\r\n * @returns List of user products\r\n */\r\n public getAvailableUserProducts(): Promise {\r\n return TrackedHttpClient.get('/api/admin/getAvailableUserProducts');\r\n }\r\n\r\n /**\r\n * Returns the products of a user which were associated by an admin\r\n * @param userId Id of the user\r\n * @returns List of user products\r\n */\r\n public async getUserAdminProducts(userId: string): Promise {\r\n let products: UserProduct[] = await TrackedHttpClient.get(`/api/admin/getUserProducts?id=${userId}`);\r\n\r\n for(let curProduct of products)\r\n {\r\n curProduct.start = new Date(curProduct.start);\r\n curProduct.end = new Date(curProduct.end);\r\n }\r\n\r\n return products;\r\n }\r\n \r\n /**\r\n * Saves the user admin products\r\n * @param userId Id of the user\r\n * @param products Products to save\r\n */\r\n public saveUserAdminProducts(userId: string, products: UserProduct[]): Promise {\r\n return TrackedHttpClient.post(`/api/admin/saveUserProducts?id=${encodeURIComponent(userId)}`, products);\r\n }\r\n\r\n /**\r\n * Returns a list of user subscriptions\r\n * @param userId Id of the user\r\n * @returns List of user subscription\r\n */\r\n public getUserSubscriptions(userId: string): Promise {\r\n return TrackedHttpClient.get(`/api/admin/getUserSubscriptions?id=${encodeURIComponent(userId)}`);\r\n }\r\n \r\n /**\r\n * Adds a user subscription\r\n * @param userId User Id\r\n * @param subscriptionNumber Subscription number to add\r\n */\r\n public async addUserSubscription(subscriptionRequest: AddUserSubscriptionRequest): Promise {\r\n return TrackedHttpClient.post(`/api/admin/addUserSubscriptions`, subscriptionRequest);\r\n }\r\n\r\n /**\r\n * Deletes a user subscriptions\r\n * @param subscriptionId Id of the subscription\r\n */\r\n public deleteUserSubscription(subscriptionId: string): Promise {\r\n return TrackedHttpClient.delete(`/api/admin/deleteUserSubscriptions?id=${encodeURIComponent(subscriptionId)}`);\r\n }\r\n}\r\n\r\nexport default WebAdminService;","// Util\r\nimport isDevMode from './../../util/IsDevMode';\r\n\r\n// Services\r\nimport IAdminService from './IAdmin.service';\r\nimport MockAdminService from './MockAdmin.service';\r\nimport WebAdminService from './WebAdmin.service';\r\n\r\n/**\r\n * Factory class to provide admin services\r\n */\r\nexport default class AdminFactoryService {\r\n /**\r\n * Returns the admin service\r\n * @returns Admin service\r\n */\r\n public static getAdminService(): IAdminService {\r\n if (isDevMode()) {\r\n return new MockAdminService();\r\n }\r\n\r\n return new WebAdminService();\r\n }\r\n}","import UserData from './../account/UserData'\r\n\r\n/**\r\n * User create edit request data\r\n */\r\nclass UserCreateEditRequest {\r\n /**\r\n * Email\r\n */\r\n public email: string;\r\n\r\n /**\r\n * Password\r\n */\r\n public password: string;\r\n\r\n /**\r\n * Firstname\r\n */\r\n public salutation: string;\r\n\r\n /**\r\n * Firstname\r\n */\r\n public firstname: string;\r\n\r\n /**\r\n * Lastname\r\n */\r\n public lastname: string;\r\n \r\n /**\r\n * Company name\r\n */\r\n public companyName: string;\r\n \r\n /**\r\n * Company street\r\n */\r\n public companyStreet: string;\r\n \r\n /**\r\n * Company postal code\r\n */\r\n public companyPostalCode: string;\r\n \r\n /**\r\n * Company city\r\n */\r\n public companyCity: string;\r\n\r\n /**\r\n * Company country\r\n */\r\n public companyCountry: string;\r\n\r\n /**\r\n * Max session count\r\n */\r\n public maxSessionCount: number | null;\r\n\r\n /**\r\n * IP Address\r\n */\r\n public ipAddress: string;\r\n\r\n /**\r\n * Username overwrite\r\n */\r\n public usernameOverwrite: string;\r\n\r\n /**\r\n * Constructor\r\n */\r\n public constructor() {\r\n this.email = \"\";\r\n this.password = \"\";\r\n this.salutation = \"\";\r\n this.firstname = \"\";\r\n this.lastname = \"\";\r\n this.companyName = \"\";\r\n this.companyStreet = \"\";\r\n this.companyPostalCode = \"\";\r\n this.companyCity = \"\";\r\n this.companyCountry = \"\";\r\n this.maxSessionCount = null;\r\n this.ipAddress = \"\";\r\n this.usernameOverwrite = \"\";\r\n }\r\n\r\n /**\r\n * Assigns the user data from another user data object\r\n * @param userData User data to copy\r\n */\r\n public assignFromUserData(userData: UserData) {\r\n this.email = userData.email;\r\n this.password = userData.password;\r\n this.salutation = userData.salutation;\r\n this.firstname = userData.firstname;\r\n this.lastname = userData.lastname;\r\n this.companyName = userData.companyName;\r\n this.companyStreet = userData.companyStreet;\r\n this.companyPostalCode = userData.companyPostalCode;\r\n this.companyCity = userData.companyCity;\r\n this.companyCountry = userData.companyCountry;\r\n this.maxSessionCount = userData.maxSessionCount;\r\n this.ipAddress = userData.ipAddress;\r\n this.usernameOverwrite = userData.username;\r\n }\r\n\r\n /**\r\n * Clones the request\r\n * @returns Cloned request\r\n */\r\n public clone(): UserCreateEditRequest {\r\n let clonedObj = new UserCreateEditRequest();\r\n clonedObj.email = this.email;\r\n clonedObj.password = this.password;\r\n clonedObj.salutation = this.salutation;\r\n clonedObj.firstname = this.firstname;\r\n clonedObj.lastname = this.lastname;\r\n clonedObj.companyName = this.companyName;\r\n clonedObj.companyStreet = this.companyStreet;\r\n clonedObj.companyPostalCode = this.companyPostalCode;\r\n clonedObj.companyCity = this.companyCity;\r\n clonedObj.companyCountry = this.companyCountry;\r\n clonedObj.ipAddress = this.ipAddress;\r\n clonedObj.usernameOverwrite = this.usernameOverwrite;\r\n \r\n return clonedObj;\r\n }\r\n}\r\n\r\nexport default UserCreateEditRequest;","import UserCreateEditRequest from './../../../../../dto/admin/UserCreateEditRequest';\r\nimport UserData from '../../../../../dto/account/UserData';\r\n\r\n/**\r\n * User Edit / Create panel state class\r\n */\r\nclass UserEditCreatePanelState {\r\n /**\r\n * Create / Edit Request\r\n */\r\n public createEditRequest: UserCreateEditRequest;\r\n\r\n /**\r\n * Existing user data\r\n */\r\n public existingUserData: UserData | null;\r\n\r\n /**\r\n * true if a load operation is in progress\r\n */\r\n public isLoading: boolean;\r\n\r\n /**\r\n * true if an error occured\r\n */\r\n public errorOccured: boolean;\r\n\r\n /**\r\n * Error message to show\r\n */\r\n public errorMessage: string;\r\n\r\n /**\r\n * Constructor\r\n */\r\n public constructor()\r\n {\r\n this.createEditRequest = new UserCreateEditRequest();\r\n this.existingUserData = null;\r\n this.isLoading = false;\r\n this.errorOccured = false;\r\n this.errorMessage = \"\";\r\n }\r\n}\r\n\r\nexport default UserEditCreatePanelState;","import React, { ReactNode } from 'react';\r\n\r\n// Library\r\nimport { TFunction } from 'i18next';\r\nimport { Panel, PrimaryButton, DefaultButton, Spinner, SpinnerSize, MessageBar, MessageBarType, PanelType } from 'office-ui-fabric-react';\r\nimport 'office-ui-fabric-core/dist/css/fabric.min.css';\r\n\r\n// Components\r\nimport TranslatedComponent from '../../../../localization/TranslatedComponent';\r\nimport UserDataForm from '../../../shared/userDataForm/UserDataForm';\r\nimport styles from './UserEditCreatePanel.module.css';\r\n\r\n// Services\r\nimport AdminFactoryService from '../../../../services/admin/AdminFactory.service';\r\n\r\n// Dto\r\nimport IUserEditCreatePanelProps from './dto/IUserEditCreatePanelProps';\r\nimport UserEditCreatePanelState from './dto/UserEditCreatePanelState';\r\nimport UserData from '../../../../dto/account/UserData';\r\n\r\n/**\r\n * User Edit / Create panel Component\r\n */\r\nclass UserEditCreatePanel extends TranslatedComponent {\r\n /**\r\n * Reference to the user data form\r\n */\r\n private userDataForm: UserDataForm | null = null;\r\n \r\n /**\r\n * Constructor\r\n * @param props Input props\r\n */\r\n public constructor(props: Readonly) {\r\n super(props);\r\n\r\n this.state = new UserEditCreatePanelState();\r\n }\r\n\r\n /**\r\n * Gets called if the component is updated\r\n */\r\n public componentDidUpdate(prevProps: IUserEditCreatePanelProps) {\r\n if(!(this.props.showPanel && !prevProps.showPanel)) {\r\n return;\r\n }\r\n\r\n if (this.props.userToEdit !== null) {\r\n this.setState({\r\n errorOccured: false,\r\n existingUserData: null,\r\n isLoading: true\r\n });\r\n\r\n AdminFactoryService.getAdminService().getUserById(this.props.userToEdit.id).then((u) => {\r\n let createEditRequest = this.state.createEditRequest.clone();\r\n createEditRequest.assignFromUserData(u);\r\n\r\n this.setState({\r\n existingUserData: u,\r\n createEditRequest: createEditRequest,\r\n isLoading: false\r\n });\r\n }, () => {\r\n this.setState({\r\n isLoading: false,\r\n errorOccured: true\r\n })\r\n });\r\n } else {\r\n this.setState({\r\n errorOccured: false,\r\n existingUserData: null\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * Renders the administration component\r\n * @param t Translate function\r\n * @returns Rendered component\r\n */\r\n protected renderWithTranslation(t: TFunction): ReactNode {\r\n return (\r\n this.renderPanelFooter(t)}\r\n isFooterAtBottom={true}\r\n type={PanelType.large}>\r\n {this.renderErrorOccured(t)}\r\n \r\n this.userDataForm = r}>\r\n\r\n \r\n );\r\n }\r\n\r\n /**\r\n * Renders the panel footer\r\n * @param t Translate function\r\n */\r\n private renderPanelFooter(t: TFunction): JSX.Element | null {\r\n return (\r\n
\r\n \r\n {this.state.isLoading && }\r\n {t(\"general.save\")}\r\n \r\n {t(\"general.cancel\")}\r\n
\r\n );\r\n }\r\n\r\n /**\r\n * Renders a message that an error occured\r\n * @param t Translate function\r\n */\r\n private renderErrorOccured(t: TFunction): ReactNode {\r\n if (!this.state.errorOccured) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n {t(`general.error.${this.state.errorMessage}`)}\r\n \r\n )\r\n }\r\n \r\n /**\r\n * Removes the error banner\r\n */\r\n private removeErrorBanner = (): void => {\r\n this.setState({\r\n errorOccured: false,\r\n errorMessage: \"generic\"\r\n })\r\n }\r\n\r\n /**\r\n * Gets called if the user data is changed\r\n * @param userData New User data\r\n */\r\n private onUserDataChanged = (userData: UserData): void => {\r\n let createEditRequest = this.state.createEditRequest.clone();\r\n createEditRequest.assignFromUserData(userData);\r\n\r\n this.setState({\r\n createEditRequest: createEditRequest\r\n });\r\n }\r\n\r\n /**\r\n * Gets called if the user must be saved\r\n */\r\n private onSaveUser = async (): Promise => {\r\n if(!this.userDataForm) {\r\n return;\r\n }\r\n\r\n if(!this.userDataForm.validate()) {\r\n return;\r\n }\r\n\r\n this.setState({\r\n errorOccured: false,\r\n errorMessage: \"generic\",\r\n isLoading: true\r\n });\r\n\r\n try\r\n {\r\n if(this.props.userToEdit)\r\n {\r\n await AdminFactoryService.getAdminService().updateUser(this.props.userToEdit.id, this.state.createEditRequest);\r\n }\r\n else\r\n {\r\n await AdminFactoryService.getAdminService().createUser(this.state.createEditRequest);\r\n }\r\n\r\n this.setState({\r\n isLoading: false\r\n });\r\n\r\n this.props.onSaveSuccess();\r\n }\r\n catch(e)\r\n {\r\n let errorMessage = \"generic\";\r\n if (e.response && e.response.status < 500 && e.response.data && e.response.data.message) {\r\n errorMessage = e.response.data.message;\r\n }\r\n\r\n if(errorMessage === \"usernameAlreadyTaken\") {\r\n errorMessage = \"usernameAlreadyTakenAdmin\";\r\n }\r\n\r\n this.setState({\r\n isLoading: false,\r\n errorOccured: true,\r\n errorMessage: errorMessage\r\n });\r\n }\r\n }\r\n}\r\n\r\nexport default UserEditCreatePanel; ","import AvailableUserProduct from '../../../../../dto/admin/AvailableUserProduct';\r\nimport UserProduct from '../../../../../dto/admin/UserProduct';\r\n\r\n/**\r\n * User Product panel state class\r\n */\r\nclass UserProductPanelState {\r\n /**\r\n * Available products\r\n */\r\n public availableProducts: AvailableUserProduct[];\r\n\r\n /**\r\n * User products\r\n */\r\n public userProducts: UserProduct[];\r\n\r\n /**\r\n * Selected product key\r\n */\r\n public selectedProductKey: string | null;\r\n\r\n /**\r\n * Selected start date\r\n */\r\n public selectedStartDate: Date | undefined;\r\n \r\n /**\r\n * Selected end date\r\n */\r\n public selectedEndDate: Date | undefined;\r\n\r\n /**\r\n * true if the error messages must be shown, else false\r\n */\r\n public showErrorMessage: boolean;\r\n\r\n /**\r\n * true if a load operation is in progress\r\n */\r\n public isLoading: boolean;\r\n\r\n /**\r\n * true if a save operation is in progress\r\n */\r\n public isSaving: boolean;\r\n\r\n /**\r\n * true if an error occured\r\n */\r\n public errorOccured: boolean;\r\n\r\n /**\r\n * Constructor\r\n */\r\n public constructor()\r\n {\r\n this.availableProducts = [];\r\n this.userProducts = [];\r\n this.selectedProductKey = null;\r\n this.selectedStartDate = undefined;\r\n this.selectedEndDate = undefined;\r\n this.showErrorMessage = false;\r\n this.isLoading = false;\r\n this.isSaving = false;\r\n this.errorOccured = false;\r\n }\r\n}\r\n\r\nexport default UserProductPanelState;","import React, { ReactNode } from 'react';\r\n\r\n// Library\r\nimport { TFunction } from 'i18next';\r\nimport { Panel, PrimaryButton, DefaultButton, Spinner, SpinnerSize, MessageBar, MessageBarType, PanelType, SelectionMode, ShimmeredDetailsList, IColumn, IconButton, FontSizes, Stack, DatePicker, DayOfWeek, IDatePickerStrings, IStackTokens, Label, ColorClassNames, IComboBoxOption, IComboBox, ComboBox } from 'office-ui-fabric-react';\r\nimport 'office-ui-fabric-core/dist/css/fabric.min.css';\r\n\r\n// Components\r\nimport TranslatedComponent from '../../../../localization/TranslatedComponent';\r\nimport styles from './UserProductPanel.module.css';\r\n\r\n// Services\r\nimport AdminFactoryService from '../../../../services/admin/AdminFactory.service';\r\n\r\n// Dto\r\nimport IUserProductPanelProps from './dto/IUserProductPanelProps';\r\nimport UserProductPanelState from './dto/UserProductPanelState';\r\nimport UserProduct from '../../../../dto/admin/UserProduct';\r\n\r\n// Util\r\nimport formatDate from '../../../../util/FormatDate';\r\nimport buildDatePickerStrings from '../../../../util/BuildDatePickerStrings';\r\n\r\n/**\r\n * User product panel Component\r\n */\r\nclass UserProductPanel extends TranslatedComponent {\r\n /**\r\n * Constructor\r\n * @param props Input props\r\n */\r\n public constructor(props: Readonly) {\r\n super(props);\r\n\r\n this.state = new UserProductPanelState();\r\n }\r\n\r\n /**\r\n * Gets called if the component is updated\r\n */\r\n public componentDidUpdate(prevProps: IUserProductPanelProps) {\r\n if (this.props.userToEdit !== null && prevProps.userToEdit === null) {\r\n this.setState({\r\n userProducts: [],\r\n isLoading: true,\r\n isSaving: false\r\n });\r\n\r\n let availableProducts = AdminFactoryService.getAdminService().getAvailableUserProducts();\r\n let userAdminProductsPromise = AdminFactoryService.getAdminService().getUserAdminProducts(this.props.userToEdit.id);\r\n\r\n Promise.all([availableProducts, userAdminProductsPromise]).then((products) => {\r\n this.setState({\r\n availableProducts: products[0],\r\n userProducts: (products[1] as UserProduct[]),\r\n isLoading: false\r\n });\r\n }, () => {\r\n this.setState({\r\n isLoading: false,\r\n errorOccured: true\r\n })\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * Renders the administration component\r\n * @param t Translate function\r\n * @returns Rendered component\r\n */\r\n protected renderWithTranslation(t: TFunction): ReactNode {\r\n const datePickerStrings: IDatePickerStrings = buildDatePickerStrings(t);\r\n const addProductStackTokens: IStackTokens = {\r\n childrenGap: 10\r\n };\r\n\r\n return (\r\n this.renderPanelFooter(t)}\r\n isFooterAtBottom={true}\r\n type={PanelType.large}>\r\n {this.renderErrorOccured(t)}\r\n \r\n \r\n \r\n \r\n \r\n \r\n formatDate(t, d)} \r\n onSelectDate={this.onSelectStartDate}>\r\n \r\n \r\n formatDate(t, d)} onSelectDate={this.onSelectEndDate}>\r\n \r\n \r\n {t(\"userProductPanel.addProductButton\")}\r\n \r\n \r\n {this.renderAddProductErrorMessage(t)}\r\n \r\n \r\n );\r\n }\r\n\r\n /**\r\n * Returns the error message on adding of a product\r\n * @param t Translate function\r\n * @returns Product error message\r\n */\r\n private renderAddProductErrorMessage = (t: TFunction): React.ReactNode => {\r\n if(!this.state.showErrorMessage) {\r\n return null;\r\n } \r\n\r\n let errorMessage: string | null = null;\r\n if(!this.state.selectedProductKey || !this.state.selectedStartDate || !this.state.selectedEndDate) {\r\n errorMessage = t(\"userProductPanel.fieldsAreRequired\")\r\n } else if(this.state.selectedEndDate < this.state.selectedStartDate) {\r\n errorMessage = t(\"userProductPanel.startDateMustBeBeforeEndDate\")\r\n }\r\n\r\n if(!errorMessage) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n );\r\n }\r\n\r\n /**\r\n * Returns the user products\r\n * @returns User Products\r\n */\r\n private getUserProducts = (): UserProduct[] => {\r\n return this.state.userProducts.sort((up1, up2) => {\r\n let startDiff = up2.start.getTime() - up1.start.getTime();\r\n if(startDiff !== 0)\r\n {\r\n return startDiff;\r\n }\r\n\r\n let endDiff = up2.end.getTime() - up1.end.getTime();\r\n if(endDiff !== 0)\r\n {\r\n return endDiff;\r\n }\r\n\r\n return up1.name.localeCompare(up2.name)\r\n });\r\n }\r\n\r\n /**\r\n * Returns the products a user can select\r\n * @returns Products that a user can select\r\n */\r\n private getSelectableProducts(): IComboBoxOption[] {\r\n return this.state.availableProducts.sort((up1, up2) => up1.name.localeCompare(up2.name)).map(p => {\r\n let name = p.name;\r\n if(p.filename) {\r\n name = `${p.name} (${p.filename})`;\r\n }\r\n \r\n return {\r\n key: p.id,\r\n text: name\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Returns the user columns\r\n * @param t Translate function\r\n * @returns User Columns\r\n */\r\n private getUserColumns = (t: TFunction): IColumn[] => {\r\n return [\r\n {\r\n key: 'name',\r\n name: t(\"userProductPanel.name\"),\r\n fieldName: 'name',\r\n minWidth: 250,\r\n maxWidth: 450,\r\n isResizable: true,\r\n onRender: (u) => this.renderNameColumn(u)\r\n },\r\n {\r\n key: 'startDate',\r\n name: t(\"userProductPanel.startDate\"),\r\n fieldName: 'start',\r\n minWidth: 150,\r\n maxWidth: 250,\r\n isResizable: true,\r\n onRender: (u) => formatDate(t, u.start)\r\n },\r\n {\r\n key: 'endDate',\r\n name: t(\"userProductPanel.endDate\"),\r\n fieldName: 'end',\r\n minWidth: 150,\r\n maxWidth: 250,\r\n isResizable: true,\r\n onRender: (u) => formatDate(t, u.end)\r\n },\r\n {\r\n key: 'editColumn',\r\n name: '',\r\n fieldName: '',\r\n minWidth: 80,\r\n maxWidth: 80,\r\n isResizable: false,\r\n onRender: (u) => this.renderEditColumn(t, u)\r\n }\r\n ];\r\n }\r\n\r\n /**\r\n * Returns the key for a user row\r\n * @param item Row item\r\n * @returns Row key\r\n */\r\n private getUserRowKey = (item: UserProduct, index?: number): string => {\r\n if (!item) {\r\n return index ? index.toString() : \"\";\r\n }\r\n return item.id;\r\n }\r\n\r\n /**\r\n * Renders the name column\r\n * @param userProduct Product to render\r\n * @returns Rendered column\r\n */\r\n private renderNameColumn = (userProduct: UserProduct): JSX.Element | string => {\r\n let name = userProduct.name;\r\n if(userProduct.filename) {\r\n name = `${userProduct.name} (${userProduct.filename})`;\r\n }\r\n \r\n return (\r\n \r\n {name}\r\n \r\n )\r\n }\r\n\r\n /**\r\n * Renders the edit column\r\n * @param t Translate function\r\n * @param userProduct User product\r\n * @returns Edit column\r\n */\r\n private renderEditColumn = (t: TFunction, userProduct: UserProduct): JSX.Element | string => {\r\n return (\r\n \r\n { this.onDeleteUserProduct(userProduct) }} title={t(\"general.delete\")} ariaLabel={t(\"general.delete\")}>\r\n \r\n )\r\n }\r\n\r\n /**\r\n * Renders the panel footer\r\n * @param t Translate function\r\n */\r\n private renderPanelFooter(t: TFunction): JSX.Element | null {\r\n return (\r\n
\r\n \r\n {(this.state.isLoading || this.state.isSaving) && }\r\n {t(\"general.save\")}\r\n \r\n {t(\"general.cancel\")}\r\n
\r\n );\r\n }\r\n\r\n /**\r\n * Renders a message that an error occured\r\n * @param t Translate function\r\n */\r\n private renderErrorOccured(t: TFunction): ReactNode {\r\n if (!this.state.errorOccured) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n {t(\"general.errorOccured\")}\r\n \r\n )\r\n }\r\n\r\n /**\r\n * Removes the error banner\r\n */\r\n private removeErrorBanner = (): void => {\r\n this.setState({\r\n errorOccured: false\r\n })\r\n }\r\n\r\n /**\r\n * Gets called if a user product must be deleted\r\n * @param userProduct User PRoduct to delete\r\n */\r\n private onDeleteUserProduct = (userProduct: UserProduct): void => {\r\n let newUserProducts = this.state.userProducts.filter(u => u.id !== userProduct.id);\r\n\r\n this.setState({\r\n userProducts: newUserProducts\r\n });\r\n }\r\n\r\n /**\r\n * Gets called if a user product must be added\r\n * @param _ev Event\r\n * @param selectedOption Selected product to add\r\n */\r\n private onSelectUserProduct = (_ev: React.FormEvent, selectedOption?: IComboBoxOption) => {\r\n if (!selectedOption) {\r\n return;\r\n }\r\n\r\n this.setState({\r\n selectedProductKey: selectedOption.key.toString()\r\n });\r\n }\r\n\r\n /**\r\n * Gets called if a start date is selected\r\n * @param date Selected date\r\n */\r\n private onSelectStartDate = (date: Date | null | undefined): void => {\r\n if (!date) {\r\n return;\r\n }\r\n\r\n this.setState({\r\n selectedStartDate: date\r\n });\r\n }\r\n\r\n /**\r\n * Gets called if a end date is selected\r\n * @param date Selected date\r\n */\r\n private onSelectEndDate = (date: Date | null | undefined): void => {\r\n if (!date) {\r\n return;\r\n }\r\n\r\n this.setState({\r\n selectedEndDate: date\r\n });\r\n }\r\n\r\n /**\r\n * Gets called if a user product must be added\r\n * @param _ev Event\r\n */\r\n private onAddUserProduct = (_ev: React.MouseEvent) => {\r\n let selectedOption = this.state.availableProducts.find(ap => ap.id === this.state.selectedProductKey);\r\n if (!selectedOption || !this.state.selectedStartDate || !this.state.selectedEndDate || this.state.selectedEndDate < this.state.selectedStartDate) {\r\n this.setState({\r\n showErrorMessage: true\r\n });\r\n return;\r\n }\r\n\r\n this.setState({\r\n showErrorMessage: false\r\n });\r\n\r\n let userProduct = new UserProduct(selectedOption.id, selectedOption.name, selectedOption.filename, this.state.selectedStartDate, this.state.selectedEndDate);\r\n let newUserProducts = [...this.state.userProducts];\r\n newUserProducts.push(userProduct);\r\n\r\n this.setState({\r\n userProducts: newUserProducts,\r\n selectedProductKey: null,\r\n selectedStartDate: undefined,\r\n selectedEndDate: undefined\r\n });\r\n }\r\n\r\n /**\r\n * Gets called if the user products must be saved\r\n */\r\n private onSaveUserProducts = async (): Promise => {\r\n if (!this.props.userToEdit || !this.props.userToEdit.id) {\r\n return;\r\n }\r\n\r\n this.setState({\r\n isSaving: true,\r\n errorOccured: false\r\n });\r\n\r\n try {\r\n await AdminFactoryService.getAdminService().saveUserAdminProducts(this.props.userToEdit.id, this.state.userProducts);\r\n\r\n this.setState({\r\n isSaving: false\r\n });\r\n\r\n this.props.onSaveSuccess();\r\n }\r\n catch (e) {\r\n this.setState({\r\n isSaving: false,\r\n errorOccured: true\r\n });\r\n }\r\n }\r\n}\r\n\r\nexport default UserProductPanel; ","import { TFunction } from 'i18next';\r\nimport { IDatePickerStrings } from 'office-ui-fabric-react';\r\n\r\n/**\r\n * Builds the datepicker strings\r\n * @parma t Translate Function\r\n * @returns Datepciker strings\r\n */\r\nexport default function buildDatePickerStrings(t: TFunction): IDatePickerStrings {\r\n return {\r\n months: [t(\"general.january\"), t(\"general.february\"), t(\"general.march\"), t(\"general.april\"), t(\"general.may\"), t(\"general.june\"), t(\"general.july\"), t(\"general.august\"), t(\"general.september\"), t(\"general.october\"), t(\"general.november\"), t(\"general.december\")],\r\n shortMonths: [t(\"general.shortJanuary\"), t(\"general.shortFebruary\"), t(\"general.shortMarch\"), t(\"general.shortApril\"), t(\"general.shortMay\"), t(\"general.shortJune\"), t(\"general.shortJuly\"), t(\"general.shortAugust\"), t(\"general.shortSeptember\"), t(\"general.shortOctober\"), t(\"general.shortNovember\"), t(\"general.shortDecember\")],\r\n\r\n days: [t(\"general.sunday\"), t(\"general.monday\"), t(\"general.tuesday\"), t(\"general.wednesday\"), t(\"general.thursday\"), t(\"general.friday\"), t(\"general.saturday\")],\r\n shortDays: [t(\"general.shortSunday\"), t(\"general.shortMonday\"), t(\"general.shortTuesday\"), t(\"general.shortWednesday\"), t(\"general.shortThursday\"), t(\"general.shortFriday\"), t(\"general.shortSaturday\")],\r\n\r\n goToToday: t(\"general.today\"),\r\n prevMonthAriaLabel: t(\"general.prevMonth\"),\r\n nextMonthAriaLabel: t(\"general.nextMonth\"),\r\n prevYearAriaLabel: t(\"general.prevYear\"),\r\n nextYearAriaLabel: t(\"general.nextYear\")\r\n };\r\n}","import UserSubscription from '../../../../../dto/subscriptions/UserSubscription';\n\n/**\n * User subscriptions panel state class\n */\nclass UserSubscriptionsPanelState {\n /**\n * User subscriptions\n */\n public userSubscriptions: UserSubscription[];\n\n /**\n * Subscription number to add\n */\n public subscriptionNumberToAdd: string;\n\n /**\n * Susbcriptions that must be deleted\n */\n public subscriptionToDelete: UserSubscription | null;\n\n /**\n * true if the error messages must be shown, else false\n */\n public showErrorMessage: boolean;\n\n /**\n * true if a load operation is in progress\n */\n public isLoading: boolean;\n\n /**\n * true if a save operation is in progress\n */\n public isSaving: boolean;\n\n /**\n * true if an error occured\n */\n public errorOccured: boolean;\n\n /**\n * Constructor\n */\n public constructor()\n {\n this.userSubscriptions = [];\n this.subscriptionNumberToAdd = \"\";\n this.subscriptionToDelete = null;\n this.showErrorMessage = false;\n this.isLoading = false;\n this.isSaving = false;\n this.errorOccured = false;\n }\n}\n\nexport default UserSubscriptionsPanelState;","/**\n * Request to add a user subscription\n */\nclass AddUserSubscriptionRequest {\n /**\n * User id for which to add the subscription\n */\n public userId: string;\n\n /**\n * Subscription number\n */\n public subscriptionNumber: string;\n\n /**\n * Constructor\n * @param userId User id for which to add the subscription\n * @param subscriptionNumber Subscription number\n */\n public constructor(userId: string, subscriptionNumber: string) {\n this.userId = userId;\n this.subscriptionNumber = subscriptionNumber;\n }\n}\n\nexport default AddUserSubscriptionRequest;","import React, { ReactNode } from 'react';\n\n// Library\nimport { TFunction } from 'i18next';\nimport { Panel, PrimaryButton, DefaultButton, MessageBar, MessageBarType, PanelType, SelectionMode, ShimmeredDetailsList, IColumn, Stack, IStackTokens, Label, TextField, IconButton, FontSizes, Dialog, DialogFooter, Spinner, DialogType, SpinnerSize } from 'office-ui-fabric-react';\nimport 'office-ui-fabric-core/dist/css/fabric.min.css';\n\n// Components\nimport TranslatedComponent from '../../../../localization/TranslatedComponent';\nimport styles from './UserSubscriptionsPanel.module.css';\n\n// Services\nimport AdminFactoryService from '../../../../services/admin/AdminFactory.service';\n\n// Dto\nimport IUserSubscriptionsPanelProps from './dto/IUserSubscriptionsPanelProps';\nimport UserSubscriptionsPanelState from './dto/UserSubscriptionsPanelState';\nimport AddUserSubscriptionRequest from './../../../../dto/admin/AddUserSubscriptionRequest';\n\n// Util\nimport UserSubscription from '../../../../dto/subscriptions/UserSubscription';\n\n/**\n * User subscriptions panel Component\n */\nclass UserSubscriptionsPanel extends TranslatedComponent {\n /**\n * Constructor\n * @param props Input props\n */\n public constructor(props: Readonly) {\n super(props);\n\n this.state = new UserSubscriptionsPanelState();\n }\n\n /**\n * Gets called if the component is updated\n */\n public componentDidUpdate(prevProps: IUserSubscriptionsPanelProps) {\n if (this.props.userToEdit !== null && prevProps.userToEdit === null) {\n this.setState({\n userSubscriptions: [],\n showErrorMessage: false\n }, () => {\n this.loadUserSubscriptions();\n });\n }\n }\n\n /**\n * Loads the user subscriptions\n */\n private loadUserSubscriptions = async (): Promise => {\n if(this.props.userToEdit === null) {\n return;\n }\n\n this.setState({\n userSubscriptions: [],\n isLoading: true,\n isSaving: false\n });\n\n AdminFactoryService.getAdminService().getUserSubscriptions(this.props.userToEdit.id).then((subscriptions) => {\n this.setState({\n userSubscriptions: subscriptions,\n isLoading: false\n });\n }, () => {\n this.setState({\n isLoading: false,\n errorOccured: true\n })\n });\n }\n\n /**\n * Renders the administration component\n * @param t Translate function\n * @returns Rendered component\n */\n protected renderWithTranslation(t: TFunction): ReactNode {\n const addSubscriptionsStackTokens: IStackTokens = {\n childrenGap: 10\n };\n\n return (\n this.renderPanelFooter(t)}\n isFooterAtBottom={true}\n type={PanelType.large}>\n {this.renderErrorOccured(t)}\n \n \n \n \n \n \n \n {this.state.isSaving && }\n {t(\"userSubscriptionsPanel.addSubscriptionButton\")}\n \n \n \n \n\n {this.renderConfirmDeleteDialog(t)}\n \n );\n }\n\n /**\n * Returns the subscription number error message\n * @param t Translate function\n */\n private getSubscriptionsNumberErrorMessage = (t: TFunction) => {\n if(!this.state.showErrorMessage || this.state.subscriptionNumberToAdd) {\n return \"\";\n }\n\n return t(\"general.mandatoryField\");\n }\n\n /**\n * Renders the confirm delete dialog\n * @param t Translate function\n */\n private renderConfirmDeleteDialog = (t: TFunction): JSX.Element => {\n let deleteContent = \"\";\n if(this.state.subscriptionToDelete) {\n deleteContent = t(\"userSubscriptionsPanel.confirmDeleteText\");\n deleteContent = deleteContent.replace(\"{0}\", this.state.subscriptionToDelete.subscriptionNumber);\n }\n \n const dialogContentProps = {\n type: DialogType.normal,\n title: t(\"userSubscriptionsPanel.confirmDeleteHeader\"),\n closeButtonAriaLabel: t(\"general.close\")\n };\n \n const modalProps = {\n isBlocking: true\n };\n\n return (