{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///../shared/src/Components/Util/Markdown/Markdown.less?a2c8","webpack:///../shared/src/Components/Form/Markdown/MarkdownDetail.less?e2bc","webpack:///../shared/src/Components/DataBrowser/PerformaMetaPanelFooter.less?f28b","webpack:///../shared/src/Components/Form/GridEditor/GridEditor.less?5d54","webpack:///../shared/src/Components/Form/Upload/PerformaFileManager.less?b1f4","webpack:///../shared/src/Components/Form/Upload/PerformaFileUploader.less?d9ba","webpack:///../shared/src/Components/Form/Upload/Upload.less?8444","webpack:///../shared/src/Components/VerticalList/VerticalList.less?9b27","webpack:///../shared/src/Components/PerformaLabel/PerformaLabel.less?14f8","webpack:///../shared/src/Components/DataBrowser/Breadcrumbs.less?3381","webpack:///../shared/src/Components/DataBrowser/PerformaMetaPanelExportButton.less?c62f","webpack:///../shared/src/Components/DataBrowser/PerformaMetaPanelHeader.less?eb64","webpack:///../shared/src/Components/Util/Devextreme/PopupButtonBar.less?1598","webpack:///../shared/src/Components/Util/Avatar.less?66c4","webpack:///../shared/src/Components/CrmContext/CrmContextListItem.less?b4e7","webpack:///../shared/src/Components/CrmContext/CrmContextSelectorCancelButton.less?cb8a","webpack:///../shared/src/Components/CrmContext/CrmContextSearch.less?1d26","webpack:///../shared/src/Components/Util/Devextreme/ScrollablePopup.less?ad65","webpack:///../shared/src/Components/CrmContext/CrmContextSelector.less?2e9d","webpack:///../shared/src/Components/MainLayout/Components/PerformaAppBar/Components/UserMenu/UserMenuItem.less?3b42","webpack:///../shared/src/Components/MainLayout/Components/PerformaAppBar/Components/UserMenu/UserMenu.less?f8d9","webpack:///../shared/src/Components/MainLayout/Components/PerformaAppBar/Components/UserMenuButton/UserMenuButton.less?579f","webpack:///../shared/src/Components/MainLayout/Components/PerformaAppBar/Components/LanguageSwitcher/LanguageSwitcher.less?4ec6","webpack:///../shared/src/Components/VersionInfo/VersionInfo.less?4139","webpack:///../shared/src/Components/MainLayout/Components/MainMenu/MenuItem.less?f32a","webpack:///../shared/src/Components/MainLayout/Components/MainMenu/MenuSubheader.less?235c","webpack:///../shared/src/Components/MainLayout/Components/MainMenu/SiteMapNode.less?961e","webpack:///../shared/src/Components/MainLayout/Components/MainMenu/MainMenu.less?a18b","webpack:///../shared/src/Components/MainLayout/Components/PerformaAppBar/Components/SidebarCloser/SidebarCloser.less?33a9","webpack:///../shared/src/Components/MainLayout/Components/PerformaAppBar/PerformaAppBar.less?2fb2","webpack:///../shared/src/Components/MainLayout/Components/ChangePasswordDialog/ChangePasswordDialog.less?0eed","webpack:///../shared/src/Components/Profile/ProfileForm.less?7044","webpack:///../shared/src/Components/ServerNotReachable/ServerNotReachable.less?3036","webpack:///../shared/src/Components/MainLayout/MainLayout.less?e66b","webpack:///../shared/src/Components/FloatingVersionInfo/FloatingVersionInfo.less?7c1e","webpack:///../shared/src/Components/PageRoot/LoggedOutPageRoot.less?cee9","webpack:///../shared/src/Components/BannerTextDecorator/BannerTextDecorator.less?fdca","webpack:///../shared/src/Components/Error/ErrorPopup.less?2e25","webpack:///../shared/src/Components/PageRoot/PageRoot.less?db18","webpack:///./src/Components/SbvLogo/logo.png","webpack:///./src/Components/SbvLogo/SbvLogo.less?deba","webpack:///./src/Components/SbvLoggedOutDecorator/SbvLoggedOutDecorator.less?8ede","webpack:///../shared/src/ioc/sharedIdentifiers.ts","webpack:///../shared/src/configuration/Configuration.ts","webpack:///../shared/src/configuration/ConfigurationService.ts","webpack:///../shared/src/navigation/LocationService.ts","webpack:///../shared/src/api/PerformaServer.ts","webpack:///../shared/src/api/PerformaUrlManager.ts","webpack:///../shared/src/session/SessionPersister.ts","webpack:///../shared/src/authentication/AuthService.ts","webpack:///../shared/src/session/sessionStore.ts","webpack:///../shared/src/session/SessionService.ts","webpack:///../shared/src/Components/CrmContext/Wrapper/CrmContextWrapperStateHelper.ts","webpack:///../shared/src/api/ImageFetcher.ts","webpack:///../shared/src/Components/Auth/PasswordReset/PasswordResetStateHelper.ts","webpack:///../shared/src/Components/Auth/ForgotPassword/ForgotPasswordStateHelper.ts","webpack:///../shared/src/api/ProfileService.ts","webpack:///../shared/src/crmContext/CrmContextIdentifierSerializer.ts","webpack:///../shared/src/navigation/RouteHelper.ts","webpack:///../shared/src/authorization/AuthorizationFactory.ts","webpack:///../shared/src/versionInfo/VersionInfoService.ts","webpack:///../shared/src/Components/MainLayout/Components/ChangePasswordDialog/ChangePasswordStateHelper.ts","webpack:///../shared/src/authentication/PasswordValidatorConfig.ts","webpack:///../shared/src/authentication/PasswordPolicy/MinimumLengthPolicy.ts","webpack:///../shared/src/authentication/PasswordPolicy/MaximumLengthPolicy.ts","webpack:///../shared/src/authentication/PasswordPolicy/LowercaseCharacterPolicy.ts","webpack:///../shared/src/authentication/PasswordPolicy/UppercaseCharacterPolicy.ts","webpack:///../shared/src/authentication/PasswordPolicy/NumberPresencePolicy.ts","webpack:///../shared/src/authentication/PasswordPolicy/SpecialCharacterPolicy.ts","webpack:///../shared/src/authentication/PasswordValidator.ts","webpack:///../shared/src/Components/Profile/ProfileFormStateHelper.ts","webpack:///../shared/src/data/LayoutLoader.ts","webpack:///../shared/src/Components/DataBrowser/LayoutCatalogManager.ts","webpack:///../shared/src/meta/aspects/IDefaultLayoutMarkerAspect.ts","webpack:///../shared/src/Components/Profile/IProfileFormState.ts","webpack:///../shared/src/api/CurrentUserProfileCache.ts","webpack:///../shared/src/configuration/ProfileHelpTextVisibilityStrategy.ts","webpack:///../shared/src/meta/EntityAction/EntityActionEmphasis.ts","webpack:///../shared/src/customActions/CustomActionNamesReader.ts","webpack:///../shared/src/meta/EntityAction/EntityActionStyleHelper.ts","webpack:///../shared/src/customActions/CustomActionParser.ts","webpack:///../shared/src/customActions/EntityActionsExtractor.ts","webpack:///../shared/src/api/CustomActionService.ts","webpack:///../shared/src/navigation/ContextRouteChecker.ts","webpack:///../shared/src/configuration/ConfigurationLoader.ts","webpack:///../shared/src/data/LayoutNameResolver.ts","webpack:///../shared/src/api/DataEntryStatusService.ts","webpack:///../shared/src/api/StorageService.ts","webpack:///../shared/src/storage/PerformaStorage.ts","webpack:///../shared/src/api/PerformaServerError.ts","webpack:///../shared/src/storage/PerformaFileHandler.ts","webpack:///../shared/src/redux/listStates/store.ts","webpack:///../shared/src/redux/api/apiStore.ts","webpack:///../shared/src/redux/store.ts","webpack:///../shared/src/Components/Grid/PerformaDataGridConfigurationService.ts","webpack:///../shared/src/navigation/NullRouteExtensions.ts","webpack:///../shared/src/Components/Auth/LoginForm/NullLoginFormExtension.ts","webpack:///../shared/src/ioc/sharedModule.ts","webpack:///../shared/src/data/validation/PerformaValidationErrorCodes.ts","webpack:///../shared/src/lang/TranslationKeys.ts","webpack:///../shared/src/data/validation/IbanValidator.ts","webpack:///../shared/src/data/validation/SocialSecurityNumberValidator.ts","webpack:///../shared/src/data/validation/DateInFutureValidator.ts","webpack:///../shared/src/data/validation/FileUploadValidator.ts","webpack:///../shared/src/meta/aspects/IUploadSettingsAspect.ts","webpack:///../shared/src/ioc/PerformaControlIdentifier.ts","webpack:///../shared/src/Components/Util/Markdown/Markdown.tsx","webpack:///../shared/src/Components/Form/Markdown/MarkdownDetail.tsx","webpack:///../shared/src/Components/Util/ErrorMessage.tsx","webpack:///../shared/src/ioc/hook/useService.ts","webpack:///../shared/src/lang/useI18n.ts","webpack:///../shared/src/Components/LocalizedLabel/LocalizedLabel.tsx","webpack:///../shared/src/meta/aspects/ITranslationKeyAspect.ts","webpack:///../shared/src/lang/useTranslation.ts","webpack:///../shared/src/Components/DataBrowser/DataListCreateButton.tsx","webpack:///../shared/src/Components/DataBrowser/PerformaMetaPanelEntityActionButton.tsx","webpack:///../shared/src/Components/DataBrowser/CustomFooterButton.tsx","webpack:///../shared/src/configuration/hook/useWeakValidationMetaClasses.ts","webpack:///../shared/src/api/PerformaBadRequestClientError.ts","webpack:///../shared/src/Components/DataBrowser/PerformaMetaPanelSaveButton.tsx","webpack:///../shared/src/Components/DataBrowser/PerformaMetaPanelFooter.tsx","webpack:///../shared/src/contexts/crmContext/CrmContext.tsx","webpack:///../shared/src/Components/SiteMapContext/SiteMapContext.tsx","webpack:///../shared/src/Components/Error/GlobalErrorContext.ts","webpack:///../shared/src/Components/Form/GridEditor/GridEditor.tsx","webpack:///../shared/src/meta/aspects/IGridEditorConfigurationAspect.ts","webpack:///../shared/src/meta/aspects/IEnableGridDrillDownAspect.ts","webpack:///../shared/src/Components/Form/Upload/PerformaFileManager.tsx","webpack:///../shared/src/api/DTOs/IPerformaExceptionDTO.ts","webpack:///../shared/src/Components/Form/Upload/PerformaFileUploader.tsx","webpack:///../shared/src/Components/Form/Upload/Upload.tsx","webpack:///../shared/src/util/HashCode.ts","webpack:///../shared/src/Components/Placeholder/Placeholder.tsx","webpack:///../shared/src/contexts/configurationContext/ConfigurationContext.ts","webpack:///../shared/src/Components/VerticalList/VerticalList.tsx","webpack:///../shared/src/Components/TabsOrVerticalList/TabsOrVerticalList.tsx","webpack:///../shared/src/Components/NoCaptionGroupBox/NoCaptionGroupBox.tsx","webpack:///../shared/src/Components/ZipPlaceSearchBox/ZipPlaceLookup.tsx","webpack:///../shared/src/meta/aspects/IZipPlaceAspect.ts","webpack:///../shared/src/Components/FilteredDropDown/FilteredDropdown.tsx","webpack:///../shared/src/meta/aspects/IFilteredDropDownAspect.ts","webpack:///../shared/src/meta/aspects/ICustomQueryDropDownAspect.ts","webpack:///../shared/src/Components/CustomQueryDropDown/CustomQueryDropDown.tsx","webpack:///../shared/src/meta/aspects/IPerformaLabelAspect.ts","webpack:///../shared/src/Components/PerformaLabel/PerformaLabel.tsx","webpack:///../shared/src/ioc/PerformaControlModule.ts","webpack:///../shared/src/request/PerformaContextHeaderDecorator.ts","webpack:///../shared/src/contexts/authorizationContext/AuthorizationContext.ts","webpack:///../shared/src/Components/DataBrowser/DataBrowserReducer.ts","webpack:///../shared/src/Components/DataBrowser/DataBrowserContext.tsx","webpack:///../shared/src/Components/DataBrowser/Breadcrumbs.tsx","webpack:///../shared/src/Components/SiteMapContext/SiteMapWrapper.tsx","webpack:///../shared/src/Components/DataBrowser/DataListHeaderListSelection.tsx","webpack:///../shared/src/Components/Util/Devextreme/Typography.tsx","webpack:///../shared/src/Components/DataBrowser/PerformaMetaPanelExportButton.tsx","webpack:///../shared/src/Components/DataBrowser/PerformaMetaPanelHeader.tsx","webpack:///../shared/src/Components/Util/Devextreme/PopupButtonBar.tsx","webpack:///../shared/src/Components/DataBrowser/DataBrowser.tsx","webpack:///../shared/src/Components/DataBrowser/PerformaMetaPanelActions.ts","webpack:///../shared/src/authorization/PerformaAuthorizationService.ts","webpack:///../shared/src/lang/LanguageRequestDecorator.ts","webpack:///../shared/src/ApplicationInsights/ApplicationInsights.ts","webpack:///../shared/src/Components/ServerNotReachable/FailedRequestHandler.ts","webpack:///../shared/src/lang/PerformaLanguageService.ts","webpack:///../shared/src/Components/Auth/PerformaAuthenticationFeedback/PerformaAuthenticationFeedback.tsx","webpack:///../shared/src/settings/PerformaLabelConfigurationService.ts","webpack:///../shared/src/data/validation/PerformaRequiredRuleValidator.ts","webpack:///../shared/src/data/validation/BooleanIsTrueValidator.ts","webpack:///../shared/src/meta/aspects/IBooleanIsTrueAspect.ts","webpack:///../shared/src/data/validation/BirthdateValidator.ts","webpack:///../shared/src/authorization/PerformaReadonlyCalculator.tsx","webpack:///../shared/src/Components/Form/Upload/UploadErrorRegistration.ts","webpack:///../shared/src/Components/CrmContext/CrmContextSearchService.ts","webpack:///../shared/src/DataGrid/PerformaDataGridFilterService.ts","webpack:///../shared/src/ioc/sharedContainer.tsx","webpack:///../shared/src/contexts/appConfigContext/AppConfigContext.ts","webpack:///../shared/src/contexts/appConfigContext/withAppConfig.tsx","webpack:///../shared/src/contexts/crmContext/withCrmContext.tsx","webpack:///../shared/src/contexts/loginContext/LoginContext.ts","webpack:///../shared/src/contexts/profileContext/ProfileContext.ts","webpack:///../shared/src/contexts/profileContext/withProfileContextProvider.tsx","webpack:///../shared/src/Components/Dashboard/Dashboard.tsx","webpack:///../shared/src/Components/Util/Avatar.tsx","webpack:///../shared/src/Components/CrmContext/CrmContextAvatar.tsx","webpack:///../shared/src/Components/CrmContext/CrmContextListItem.tsx","webpack:///../shared/src/Components/CrmContext/CrmContextList.tsx","webpack:///../shared/src/Components/CrmContext/CrmContextSelectorCancelButton.tsx","webpack:///../shared/src/Components/Util/Devextreme/DevextremeHelpers.ts","webpack:///../shared/src/Components/CrmContext/CrmContextSearch.tsx","webpack:///../shared/src/Components/Util/Devextreme/ScrollablePopup.tsx","webpack:///../shared/src/Components/CrmContext/CrmContextSelector.tsx","webpack:///../shared/src/Components/CrmContext/Wrapper/CrmContextUrlAdjuster.tsx","webpack:///../shared/src/Components/CrmContext/Wrapper/CrmContextWrapper.tsx","webpack:///../shared/src/Components/Auth/LoginForm/LoginForm.tsx","webpack:///../shared/src/Components/Auth/LoginWrapper/LoginWrapper.tsx","webpack:///../shared/src/navigation/SiteMapTools.ts","webpack:///../shared/src/Components/MainContent/MainContent.tsx","webpack:///../shared/src/Components/UserSettings/UserSettingsContext/UserSettingsContext.ts","webpack:///../shared/src/Components/Util/Icon.tsx","webpack:///../shared/src/Components/MainLayout/Components/PerformaAppBar/Components/UserMenu/UserMenuItem.tsx","webpack:///../shared/src/Components/MainLayout/Components/PerformaAppBar/Components/UserMenu/UserMenu.tsx","webpack:///../shared/src/Components/MainLayout/Components/PerformaAppBar/Components/UserMenuButton/UserMenuButton.tsx","webpack:///../shared/src/Components/MainLayout/Components/PerformaAppBar/Components/LanguageSwitcher/LanguageSwitcher.tsx","webpack:///../shared/src/Components/VersionInfo/VersionInfo.tsx","webpack:///../shared/src/Components/MainLayout/Components/MainMenu/MenuItem.tsx","webpack:///../shared/src/Components/MainLayout/Components/MainMenu/CrmContextMenuItem.tsx","webpack:///../shared/src/Components/MainLayout/Components/MainMenu/SitemapMenuItem.tsx","webpack:///../shared/src/Components/MainLayout/Components/MainMenu/MenuSubheader.tsx","webpack:///../shared/src/Components/MainLayout/Components/MainMenu/SiteMapNode.tsx","webpack:///../shared/src/Components/MainLayout/Components/MainMenu/MainMenu.tsx","webpack:///../shared/src/Components/MainLayout/Components/Sidebar/Sidebar.tsx","webpack:///../shared/src/Components/MainLayout/Components/PerformaAppBar/Components/SidebarCloser/SidebarCloser.tsx","webpack:///../shared/src/Components/MainLayout/Components/PerformaAppBar/PerformaAppBar.tsx","webpack:///../shared/src/contexts/loginContext/withLoginContext.tsx","webpack:///../shared/src/Components/Authorization/AuthorizationContextWrapper.tsx","webpack:///../shared/src/Components/Auth/PasswordTextField/PasswordTextField.tsx","webpack:///../shared/src/Components/MainLayout/Components/ChangePasswordDialog/ChangePasswordDialog.tsx","webpack:///../shared/src/Components/Profile/ProfileForm.tsx","webpack:///../shared/src/Components/Profile/ProfilePage.tsx","webpack:///../shared/src/Components/UserSettings/UserSettingsForm.tsx","webpack:///../shared/src/crmContext/CrmContextDialogWrapper.tsx","webpack:///../shared/src/Components/UserSettings/UserSettingsDialog.tsx","webpack:///../shared/src/Components/UserSettings/UserSettingsDialogWrapper.tsx","webpack:///../shared/src/Components/PageRoot/AppLoadingScreen.tsx","webpack:///../shared/src/Components/ServerNotReachable/ServerNotReachable.tsx","webpack:///../shared/src/Components/ServerNotReachable/ServerNotReachableTimeout.tsx","webpack:///../shared/src/Components/UserSettings/UserSettingsContext/UserSettingsErrorPopup.tsx","webpack:///../shared/src/Components/UserSettings/UserSettingsContext/UserSettingsContextProvider.tsx","webpack:///../shared/src/Components/MainLayout/MainLayout.tsx","webpack:///../shared/src/Components/Util/withWrapper.tsx","webpack:///../shared/src/Components/Auth/PasswordReset/PasswordReset.tsx","webpack:///../shared/src/Components/FloatingVersionInfo/FloatingVersionInfo.tsx","webpack:///../shared/src/Components/Auth/ForgotPassword/ForgotPassword.tsx","webpack:///../shared/src/Components/Auth/ConfirmEmail/ConfirmEmail.tsx","webpack:///../shared/src/contexts/configurationContext/withConfigurationContext.tsx","webpack:///../shared/src/Components/Auth/UserRegistration/UserRegistration.tsx","webpack:///../shared/src/Components/PageRoot/LoggedOutPageRoot.tsx","webpack:///../shared/src/Components/BannerTextDecorator/BannerTextDecorator.tsx","webpack:///../shared/src/Components/ServerRestart/ServerRestart.tsx","webpack:///../shared/src/Components/ServerNotReachable/ServerNotReachableChecker.tsx","webpack:///../shared/src/Components/BrowserCheck/BrowserNotSupportedMessage.tsx","webpack:///../shared/src/Components/PageRoot/useLanguageDetector.ts","webpack:///../shared/src/Components/PageRoot/useTranslationLoader.ts","webpack:///../shared/src/Components/BrowserCheck/BrowserCheck.tsx","webpack:///../shared/src/session/SessionProvider.tsx","webpack:///../shared/src/redux/withStoreProvider.tsx","webpack:///../shared/src/Components/Error/ErrorPopup.tsx","webpack:///../shared/src/Components/Error/withGlobalErrorContextProvider.tsx","webpack:///../shared/src/Components/PageRoot/PageRoot.tsx","webpack:///../shared/src/contexts/configurationContext/withConfigurationContextProvider.tsx","webpack:///../shared/src/index.ts","webpack:///./src/Components/SbvLogo/SbvLogo.tsx","webpack:///./src/Components/SbvLoggedOutDecorator/SbvLoggedOutDecorator.tsx","webpack:///./src/lang/TranslationKeys.ts","webpack:///./src/App.tsx","webpack:///./src/core/SbvSiteMap.tsx","webpack:///./src/core/IoC.ts","webpack:///./src/index.tsx","webpack:///./src/Components/AuthError/AuthErrorPopup.tsx","webpack:///../shared/src/Components/Auth/AuthForm.less?e558"],"names":["i","chunkIds","length","deferredModules","j","deferredModule","enumerable","get","getter","value","key","bind","module","Object","prototype","hasOwnProperty","call","object","property","jsonpArray","webpackJsonpCallback","exports","SHARED_SERVICE_IDENTIFIER","ISETTINGS","Symbol","IPERFORMAURLMANAGER","IPERFORMASERVER","ICONFIGURATIONSERVICE","ISESSIONPERSISTER","ILOGINWRAPPERSTATEHELPER","IPERFORMAAUTHSERVICE","ISESSIONSERVICE","ICRMCONTEXTWRAPPERSTATEHELPER","IIMAGEFETCHER","IFORGOTPASSWORDSTATEHELPER","IPASSWORDRESETSTATEHELPER","IPASSWORDVALIDATOR","IPROFILESERVICE","IROUTEHELPER","IROUTEEXTENSIONS","IAUTHORIZATIONFACTORY","IPASSWORDVALIDATORCONFIG","IPASSWORDPOLICY","WINDOW","IVERSIONINFOSERVICE","IFRONTENDVERSIONINFO","ICHANGEPASSWORDSTATEHELPER","IPROFILEFORMSTATEHELPER","ILAYOUTLOADER","ILAYOUTCATALOGMANAGER","ICURRENTUSERPROFILECACHE","ICUSTOMACTIONNAMESREADER","ICUSTOMACTIONPARSER","IENTITYACTIONSEXTRACTOR","ICUSTOMACTIONSERVICE","ICONTEXTROUTECHECKER","ICONFIGURATIONLOADER","ILAYOUTNAMERESOLVER","IDATAENTRYSTATUSSERVICE","ISTORAGESERVICE","IPERFORMASTORAGE","IPERFORMAFILEHANDLER","IPERFORMASTORE","PERFORMADATAGRIDCONFIGURATIONSERVICE","ILOCATIONSERVICE","IUPLOADERRORREGISTRATION","ILOGINFORMEXTENSION","Configuration","configurationValues","this","keys","reduce","newObj","toLowerCase","getStringValueOrDefault","undefined","defaultValue","getConfigurationValueForKey","getBooleanValueOrDefault","getNumberValueOrDefault","parseFloat","configurationLoader","configuration","loadConfigurationMapAsync","getConfigurationAsync","getStringValue","getBooleanValue","getNumberValue","LocationService","bookmarkTrackChangesService","navigateToUrl","history","url","canChangeLocation","push","performAction","action","pendingChanges","IBookmarkTrackChangesService","PerformaServer","urlManager","requestBuilder","getConfigurationUrl","create","requiresAuthentication","fetchJson","forceReload","getContextListUrl","context","getSetContextUrl","setJsonPayload","getCheckTokenUrl","getAuthorizationUrl","getVersionInfoUrl","data","getRestartServerUrl","fetch","getLogoutUrl","getHealthCheck","className","primaryKey","layout","updateObjectUrl","insertObjectUrl","IRequestBuilder","PerformaUrlManager","urlHelper","appControllerName","authControllerName","authorizationControllerName","configurationControllerName","contextControllerName","profileControllerName","customActionControllerName","storageControllerName","genericControllerName","recruiterControllerName","customQueryControllerName","combineUrlParts","params","combineQueryParams","crmContextIdentifier","nameFilter","customActionName","id","byId","ownerKey","ownerValue","entityKey","entityValue","queryParams","queryName","IUrlHelper","SessionPersister","window","state","JSON","stringify","parse","replace","c","r","Math","random","toString","localStorageSerialized","localStorage","getItem","STORAGE_ENTRY_NAME","sessionStorageSerialized","sessionStorage","getUniqueId","unmarshal","locale","newState","setItem","marshal","SESSION_ENTRY_ID","name","generateUuid","Window","AuthService","quinoAuthService","sessionService","server","currentUserProfileCache","username","password","loginAsync","authenticationResult","success","sendLogoutRequest","clear","logoutAsync","updateSessionState","activeCrmContext","getTokenValidAsync","isLoggedIn","IAuthenticationService","initialSessionState","getSession","sessionActions","type","session","getCurrentLocale","store","getState","dispatch","i18n","loadAvailableCrmContextsAsync","getContextListAsync","response","errorMessage","t","message","errors","handleErrors","autoSetActiveCrmContextAsync","availableCrmContexts","o","caption","setActiveCrmContextAsync","errorMessages","map","error","join","getSessionState","isLoading","isContextSelectorVisible","crmContext","II18N","ImageFetcher","src","fetchImage","URL","createObjectURL","profileService","passwordValidator","resetValidationState","isValid","usernameError","passwordError","passwordRepeatError","validateUsername","validatePasswordAsync","validateAsync","validationErrors","validatePasswordRepeat","passwordRepeat","oldState","secretToken","validatedState","setPasswordAsync","processCompleted","ForgotPasswordStateHelper","resetPasswordAsync","ProfileService","secret","getSetPasswordUrl","getResetPasswordUrl","getChangePasswordUrl","cachedProfile","getAsync","getProfileUrl","populate","then","reason","Error","getConfirmEmailUrl","CrmContextIdentifierSerializer","entityName","match","exec","getLoginUrl","getStartUrl","getForgotPasswordUrl","getSettingsUrl","getRegisterUserUrl","getRegisterPVUrl","getRoutePathWithOptionalCrmContext","calculateRoute","getRoutePathForRoot","getRoutePathForRootWithCrmContext","getRoutePathForList","getRoutePathForDetail","getRoutePathForHistory","getRoutePathForPasswordReset","getRoutePathForForgotPassword","getRoutePathForConfirmEmail","getUrl","metaClass","isNew","serialize","matchesCrmContext","pathToMatch","serializedCrmContext","result","path","getParamsSiteMapPathFromUrl","location","pathname","isDetailPage","getParamsIdFromUrl","getParamsHistoryFromUrl","historyString","split","segments","AuthorizationFactory","authInformation","canCreate","allowCreate","canRead","allowRead","canUpdate","allowUpdate","canDelete","allowDelete","VersionInfoService","performaServer","frontendVersionInfo","getVersionInfoAsync","backendVersionInfo","backend","frontend","validatePasswordMatch","validateOldPasswordPresent","validateNewPasswordComplexityAsync","oldPasswordError","newPasswordError","confirmNewPasswordError","generalError","newPassword","confirmNewPassword","oldPassword","changePasswordAsync","PasswordValidatorConfig","configurationService","getNumberValueOrDefaultAsync","getStringValueOrDefaultAsync","valueString","getBooleanValueOrDefaultAsync","MinimumLengthPolicy","config","getMinimumLengthAsync","minimumLength","amount","MaximumLengthPolicy","getMaximumLengthAsync","maximumLength","LowercaseCharacterPolicy","needsLowercaseCharacterAsync","search","UppercaseCharacterPolicy","needsUppercaseCharacterAsync","NumberPresencePolicy","needsNumberCharacterAsync","SpecialCharacterPolicy","doesNotNeedSpecialCharsAsync","hasSpecialCharAsync","getSpecialCharsAsync","specialChars","allowedSpecialChars","needsSpecialCharacterAsync","some","specialChar","indexOf","getAllowedSpecialCharactersAsync","PasswordValidator","passwordPolicies","appliedPolicies","policy","applyAsync","Promise","all","a","b","concat","validateProfileForm","validateFirstNameExists","validateLastNameExists","validateEmailAddressExists","validateEmailAddressIsValidFormat","validateLanguageCodePresent","validatePasswordPresent","validatePasswordComplexityAsync","validateCompanyBranchFormAsync","validateCompanyExists","validateAddressExists","validateBranchExists","firstNameError","lastNameError","emailAddressError","languageCodeError","passwordConfirmationError","firstName","lastName","emailAddress","test","languageCode","allowSetPassword","passwordConfirmation","branch","branchError","company","companyError","address","addressError","LayoutLoader","metaDataTree","layoutCache","addUpdateListener","clearCache","ofLayoutType","getLayouts","filter","LIST_LAYOUT","List","DETAIL_LAYOUT","Detail","IMetadataTree","layoutLoader","getLayoutsAsync","listLayoutRequest","formLayoutRequest","listLayouts","formLayouts","drillDownEnabled","layouts","defaultName","layoutByDefaultName","find","layoutByDefaultLayoutMarkerAspect","getStringValueAsync","formSelectionFieldName","layoutName","getDefaultLayout","FieldDescriptionVisibility","CurrentUserProfileCache","cachedPromise","currentUserProfilePromise","userProfileDto","showFieldDescriptions","Always","OnHover","Never","layoutElement","getProfileInformationAsync","convertUserSettingToHelpTextVisibility","EntityActionEmphasis","CustomActionNamesReader","readAsync","dataObject","getCustomActionsFieldNameAsync","fieldName","EntityActionStyleHelper","extractStyleChars","removeStyle","styleChars","substring","extractStyle","entityActionEmphasis","style","charAt","Disabled","Enabled","includes","Medium","input","trimActionName","createCustomAction","trim","customActionNameWithStyle","translateCaption","disabled","EntityActionsExtractor","customActionNamesReader","customActionParser","dataObj","customActionDefinition","customActions","CustomActionService","getExecuteCustomActionUrl","EntityName","PrimaryKey","crmContextState","urlCrmContextIdentifier","deserialize","urlCrmContext","trySetActiveCrmContextAsync","ConfigurationLoader","configurationRequest","LayoutNameResolver","configService","dataService","layoutNameCache","Map","fallbackLayoutName","cacheKey","has","layoutNameRequest","getDetailLayoutNameRequest","set","getLayoutFieldName","layoutFieldName","getObjectAsync","IDataService","DataEntryStatusService","getDataEntryStatusUrl","StorageService","imageFetcher","getPersistentStorageDownloadUrl","tryLoadObjectUrl","deletePersistentStorageUrl","getStorageMetadataUrl","findStorageMetadataUrl","customMetadata","setCustomAttributesToStorageMetadataUrl","defaultMimeTypes","PerformaStorage","storageService","cachedStorageMetadata","getPersistentStorageUploadUrl","maxFileSizeInBytesConfig","acceptedMimeTypesCsvConfig","entityname","owner","invalidateCache","setCustomAttributesToStorageMetadata","getStorageMetadataAsync","tryLoadPersistentStorageObjectUrlAsync","entity","findStorageMetadataAsync","resolve","deletePersistentStorageAsync","PerformaServerError","exception","title","performaStorage","files","initial","new","deleted","getStorageMetadataForOwner","fileHandlerInitialMetadata","f","customAttributes","returnFiles","getMetaDataAsync","newFileMetadata","metadata","deleteStorage","initialFileToDelete","setOwnerAndContextAsync","deletePromises","initialMetadata","fileMetaData","currentFiles","deletedMetadata","initialListStates","listStateActions","updateListState","siteMapPath","listState","initialApiState","listStates","healthCheckRequested","serverReachable","apiActions","flag","api","initialState","reducer","performaStore","__REDUX_DEVTOOLS_EXTENSION_COMPOSE__","__REDUX_DEVTOOLS_EXTENSION__","tryGetDevTools","PerformaDataGridConfigurationService","authorizationService","getMetaDataGridConfiguration","configValues","useExport","useGrouping","useHeaderFilter","useHeaderSearch","useMultipleSorting","usePaging","useSearch","useSorting","showDelete","itemsPerPage","getAuthorization","selectionMode","useColumnFixing","drillDownMode","IAuthorizationService","NullRouteExtensions","NullLoginFormExtension","PerformaValidationErrorCodes","settings","frontendVersion","unbind","isBound","rebind","toConstantValue","to","inSingletonScope","toDynamicValue","inRequestScope","IHelpTextVisibilityStrategy","defaultSharedTranslations","iban","ibanLength","ibanCountry","substr","ibanCountryLength","getIbanLengthByCountry","iso7064Mod97_10","iso13616Prepare","A","charCodeAt","Z","toUpperCase","n","code","remainder","block","slice","parseInt","countryCode","field","getError","validateFormat","validateChecksum","validateLengthForCountry","fieldErrors","errorCode","InvalidIban","digit","sum","InvalidSocialSecurityNumber","date","endOfDay","Date","setHours","isNaN","getTime","isValidDate","isFutureDate","DateNotInFuture","expressionEvaluator","isRequiredField","validationRule","required","evaluate","minFiles","numberOfFiles","maxFiles","controlName","toLocaleLowerCase","parsedData","metaProperty","uploadSettingsAspect","requiredRuleAspect","minfiles","getMinFilesError","uploadInProgress","getUploadInProgressError","validateMinNumberOfUploads","validateMaxNumberOfUploads","maxfiles","getMaxFilesError","InvalidFileUploadNumber","FileInProgress","IExpressionEvaluator","PERFORMA_CONTROL_IDENTIFIER","styles","convertedMarkdown","markdownConverter","convertToHtml","props","children","markdownWrapper","dangerouslySetInnerHTML","__html","Component","IMarkdownConverter","element","bookmark","description","genericObject","markdownDetail","label","hint","labelPosition","Top","markdownDetailRoot","color","useService","serviceName","container","translationKeyAspect","translationKey","i18nKey","customLiteralsKey","keyExists","fallback","onNewRecord","stylingMode","onClick","icon","text","customActionService","logger","ILogger","entityAction","onEntityActionExecuted","isExecuting","setIsExecuting","High","Low","executeCustomActionAsync","logWarn","visible","buttonProps","weakValidationMetaClasses","setWeakValidationMetaClasses","weakValidationCSV","PerformaBadRequestClientError","objectResult","badRequestObjectResult","isPerformaBadRequestClientError","translationService","uploadErrorRegistrationService","isSaving","rerender","objectBookmark","handleSaveError","forEach","generalErrors","updateMetaPanel","hasChanges","notVisibleFieldErrors","actions","validate","BOUNDS_MIN_VALUE","BOUNDS_MAX_VALUE","isAllowedToSave","save","originalObject","onSaved","hasUploadErrors","hasUploadError","hasInvisibleElement","elementName","anyVisibleElement","elements","e","showTitle","closeOnOutsideClick","showCloseButton","width","height","onHiding","wordWrap","entityActions","customButtons","onActionExecuted","invalidMessage","index","box","CrmContext","createContext","SiteMapContext","currentSiteMapItem","siteMap","nodes","onSetCurrentSiteMapItem","siteMapContainsCurrentEntity","GlobalErrorContext","gridEditorConfigurationAspect","quinoInlineDataGrid","recordsperpage","targetClass","setGlobalError","bookmarkFactory","IBookmarkFactory","layoutCatalogManager","authorization","customDrillDownEnabled","currentObjectBookmark","addNewObject","customDrillDown","target","layoutsToUse","getLayoutForObject","newBookmark","createObject","foreignKeyKey","foreignKeyValue","editableGridEditor","editableGridEditorCreateButton","logout","editableDetailPopup","maxWidth","reload","position","foreignKey","reloadParentAfterSave","parentpropstoreloadafterchange","existingPropsToReload","propToReload","reloadedGenericObject","routeHelper","enableDrillDownAspect","enableDrillDown","enabledrilldown","newEntityHistory","currentEntityHistory","PerformaFileManager","memo","readonly","onDeleteFile","dxFileManager","setDxFileManager","eventHandlers","downloadFile","tryLoadStorageObjectUrlAsync","link","document","createElement","href","setAttribute","body","appendChild","click","parentNode","removeChild","updateThumbnailsClickListener","thumbnails","getElementsByClassName","thumbnail","item","file","eventHandler","fileName","removeEventListener","addEventListener","setTimeout","customFileSystemProvider","getItems","fileId","size","sizeInBytes","deleteItem","dataItem","downloadItems","fileItem","performaFileManager","permissions","delete","download","fileSystemProvider","toolbar","fileSelectionItems","items","contextMenu","itemView","mode","showFolders","showParentFolder","onInitialized","errorField","prevProps","nextProps","isPerformaException","detail","PerformaFileUploader","request","fileContext","acceptedMimeTypes","maxFileSizeInBytes","onUploadedFile","onUploadStateChanged","uploadsInProgress","uploadFinished","authenticationService","decoratorProvider","IRequestDecoratorProvider","requestFactory","IRequestFactory","fadeOutFileUploadedContainer","fileContainers","classList","contains","add","performaFileUploader","uploadHeaders","getUploadUrl","method","getInstances","decorator","decorate","authenticateRequest","headers","Authorization","filecontext","uploadUrl","uploadMode","onUploaded","responseText","onUploadStarted","onUploadAborted","onUploadError","responseObject","errorText","filesInsideContainer","fileInsideContainer","innerHTML","fileStatusMessageDivArray","fileStatusMessageDiv","uploadError","multiple","maxFileSize","invalidMaxFileSizeMessage","maxSizeMB","accept","allowedFileExtensions","invalidFileExtensionMessage","acceptedFiles","selectButtonText","labelText","performaFileHandler","uploadErrorRegistration","readOnly","setFiles","setMaxFileSizeInBytes","setAcceptedMimeTypes","setUploadsInProgress","initialFilesSaveValue","setInitialFilesSaveValue","fileUploadContext","getAcceptedMimeTypesAsync","mimeTypesCSV","mimeTypesArray","mimeType","extensionCSV","getMaxFileSizeInBytesAsync","promise","commitAllFiles","addCommitPromise","reset","getFilesSaveValue","fileMetadata","fileIds","sort","hash","s","hashCode","fileSaveValue","updateFieldValue","init","fileHandlerState","upload","showBorder","valueTextAlign","deleteFile","addFile","factory","IComponentFactory","child","ConfigurationContext","componentFactory","verticalListBox","visibilityCalculator","IVisibleCalculator","containVisibleChildren","calculate","logError","FieldType","enabled","elementPath","internalValue","setInternalValue","initialBookmarkValue","setInitialBookmarkValue","currentBookmarkValue","setCurrentBookmarkValue","searchValue","setSearchValue","postalCodes","setPostalCodes","zipPlace","setZipPlace","selectBox","setSelectBox","noDataText","searchValueIsNumber","timerId","zipPlaceAspect","fieldType","canton","cityfield","zipfield","zip","place","postalCode","placeName","cantonfield","cantonCode","newValue","hasInternalChanges","setHasInternalChanges","symbol","subscribe","event","unsubscribe","dataSource","loadMode","cacheRawData","load","json","open","triggerDeferredSearch","clearTimeout","current","acceptCustomValue","showDropDownButton","showClearButton","searchEnabled","focusStateEnabled","valueChangeEvent","placeholder","component","displayExpr","returnValue","onValueChanged","onFocusIn","onFocusOut","itemTemplate","itemData","adminCode1","onItemClick","blur","FilteredDropDown","labelSettings","fetchValueList","valueList","setValue","searchModeAspect","filteredDropDownAspect","optionValue","searchMode","useContains","filtereditemvaluesexpression","option","filteredValueList","valueExpr","showHint","CustomQueryDropDown","customQueryValueList","setCustomQueryValueList","customQueryValueListParams","setCustomQueryValueListParams","customQueryDropDownAspect","updateCustomQueryValueList","querykey","parameters","paramsObject","param","getCustomQueryListUrl","IMetaPropertyValueService","getFieldValue","labelAspect","markdown","csstextcolor","PerformaControlModule","use","application","registerStartupAction","app","provider","IComponentMappingProvider","register","controlIdentifier","LABEL","PerformaContextHeaderDecorator","jsonValue","SelectedView","AuthorizationContext","list","subDetails","selectedView","None","setListCaption","setListPath","setDetailCaption","setDetailPath","addSubDetailEntry","entry","setSelectedView","SubDetail","DataBrowserContext","locationService","root","createLink","stopPropagation","entityHistoryString","breadcrumbs","node","detailPrimaryKey","subDetailPrimaryKey","subDetailEntity","handleSetCurrentSetMapItem","siteMapItem","setState","Provider","isMenuOpen","setIsMenuOpen","close","filteredListLayouts","l","at","onLayoutSelected","handleSelect","selectedItem","isExcelExporting","setIsExcelExporting","isExportFailed","setIsExportFailed","excelRenderService","IExportExcelService","exportButtonHint","exportFailedMessage","exportFailedTitleMessage","hidden","onHidden","exportButtonBlock","hasExportButton","setHasExportButton","isList","isDetail","customHeaderText","hasButton","titleBox","paddingBottom","paddingTop","popupButtonBar","DataBrowser","defaultListLayoutName","defaultDetailLayoutName","listLayoutFilter","forceCreateDisabled","entityActionsExtractor","quinoMetaPanelActions","IQuinoMetaPanelActions","reloadCrmContextsAsync","authorizationContext","dataBrowserContextActions","currentSiteMapPath","layoutCatalog","setLayoutCatalog","listLayout","setListLayout","preservedListState","setBookmark","setEntityActions","setErrorMessage","detailNotFound","setDetailNotFound","noDetailLayoutFound","setNoDetailLayoutFound","noListLayoutFound","setNoListLayoutFound","defaultListLayoutFilter","newLayoutCatalog","setListLayoutByName","defaultListLayout","paramsId","defaultLayout","layoutOverwrite","createList","updateBreadcrumbs","detailPath","subDetailPath","listPath","updateUrl","updateEntityActions","getEntityActionsAsync","customEntityActions","validationResult","dragEnabled","preventDefaultHandler","preventDefault","onDragEnter","onDragOver","onDrop","onBookmarkChanged","disableDrillDown","hideTitle","dataDiffer","validator","deleteObjectsAsync","drilldown","drilldownInProgress","reject","ctrlKey","original","changedValues","getChangedValues","updateObjectAsync","insertObjectAsync","splice","x","IDataDiffer","IValidator","PerformaAuthorizationService","authFactory","authorizations","getAuthorizationAsync","auth","fromAuthorizationInformation","entityAuth","LanguageRequestDecorator","language","win","clientConfig","instrumentationKey","appInsights","loadAppInsights","trackPageView","console","warn","ok","responseBodyAsJson","status","httpStatus","statusText","PerformaLanguageService","windowObject","languageList","getLanguageListUrl","getSessionLanguage","getAvailableNavigatorLanguageAsync","getFirstAvailableLanguage","defaultInternationalisation","getCurrentLanguageAsync","currentLanguage","getLanguageListAsync","availableLanguages","getNavigatorLanguages","firstAvailableLanguage","navigator","navigatorLanguages","languages","uiLanguage","stripLocale","languageCodeWithLocale","strippedNavigatorLanguages","strippedUiLanguage","IUrlManager","requestLogin","onResolve","isMounted","loginComponent","onLoggedIn","resolves","unmountComponentAtNode","render","performaAuthService","performaDefaultLabelPosition","getLabelSettings","profileInformation","isLoggedInAsync","alignment","showDescription","msgProvider","isNotRequiredField","valueIsNotEmpty","aspect","REQUIRED","getRequiredError","IValidationMessageProvider","BooleanNotTrue","minAge","maxAge","isValidBirthdate","diffYear","floor","InvalidBirthdate","evaluator","UploadErrorRegistration","hasError","promises","CrmContextSearchService","crmContexts","searchString","normalize","dateFormatter","calculateFilterExpression","filterValue","selectedFilterOperation","column","format","formatToComparisonDate","dateISOString","newFilterValue","Relation","dataType","defaultCalculateFilterExpression","apply","IFormatStringService","deMessages","frMessages","itMessages","ctxt","AppConfigProvider","AppConfigConsumer","Consumer","InnerComponent","appConfig","LoginContext","onTryLoginAsync","onTryLogoutAsync","DefaultProfileContext","ProfileContext","profileData","setProfileData","setError","mailAddress","image","setImage","imageObject","Image","onload","avatarStyles","fontSize","avatar","alt","AvatarSize","objectUrl","setObjectUrl","hasImage","getContextImageUrl","tinyCaption","avatarSize","Small","Normal","itemRender","handleCancel","loginContext","hasActiveContext","button","useTextBoxFocusRef","ref","instance","focus","errorMessageProps","validationStatus","validationError","validationCallback","handleInputChange","initialFocusRef","buttons","options","activeStateEnabled","hoverStateEnabled","elementAttr","class","searchIcon","onInput","ScrollablePopup","forwardRef","popupProps","scrollView","content","userName","userEmail","setOpen","currentCrmContexts","setCurrentCrmContexts","dialogRef","repaint","hasAvailableContexts","onClose","hideContextSelector","titleTranslationKey","crmContextNoContextText","maxHeight","filterContextsForSearchString","throbberContainer","noContext","contextRouteChecker","changeCrmContextIfNecessaryAsync","newUrl","routeProps","stateHelper","startLoading","stopLoading","changeCrmContextAsync","getInitialState","showContextSelector","currentActiveCrmContext","authService","setIsLoggedIn","isLoggedOut","getSiteMapItem","pathToFind","isMatching","locationPath","Fragment","main","MainContent","UserSettingsContext","buttonContent","listItemText","userSettings","isOpen","anchorElement","onClickMenuItem","userSettingsContext","tryGetUserSettings","popover","userMenuList","topDiv","bottomDiv","divider","entityObject","disableSettingsMenu","fullName","shortName","languageService","ILanguageService","setLanguageCode","setIsLoading","setLanguages","formControl","updateProfileInformationAsync","handleChange","throbbingContainer","versionInfo","versionInfoService","versionInfoRoot","version","versionInfoVersionNumber","backendVersion","isWideMode","wideModeRoot","shortCaption","renderIcon","handleMenuItemClick","navList","isVisible","isMenuItemVisible","display","flexDirection","overflowX","borderRight","flex","revealMode","minSize","maxSize","opened","animationDuration","isDrawerOpen","general","handleUserMenuClick","userMenuOpen","handleUserMenuClose","handleUserMenuItemClick","menuItem","onChangePasswordClick","handleNavigateToRoot","onDrawerOpen","appBarWrapper","onDrawerClose","appBar","menuButton","headerIcon","logo","cursor","appTitle","grow","userMenuButton","PerformaAppBar","login","reloadAsync","oldContextId","getActiveContextId","newContextId","AuthorizationContextWrapper","passwordVisible","setPasswordVisible","showHideButton","tabIndex","inProgress","setInProgress","popupRef","updateField","submit","submitAsync","submittedState","autoComplete","onSubmit","noValidate","changePasswordTextField","onChange","isEdited","updateInput","updateInputField","updateSelectBox","showLeadInText","showLeadOutText","showDiscardButton","leadInText","leadOutText","fieldDescriptionData","profileFormRoot","onSuccess","profileFormForm","onLanguageChanged","profileFormTextField","allowChangeEmail","allowChangeFieldDescription","profileFormAction","profileFormDiscardButton","profileFormSaveButton","useSubmitBehavior","showSaveButtonIcon","saveButtonText","initialFormState","loadError","setHasError","userSettingsContextState","onSaveSuccess","footerButtons","showLogoutButton","isContextSelected","onDrillUp","reloadUserSettings","additionalDataEntryRequired","justifyContent","padding","isServerReachable","requestHealthCheck","interval","setInterval","clearInterval","divContainer","globalError","serverNotReachable","setServerNotReachable","timeout","popupContent","setIsOpen","closeDialogAndLogout","dataEntryStatusService","contextState","setContextState","reloadContextState","getDataEntryStatusAsync","dto","formViewName","isUserSettingsContextRequired","handleDrawerOpen","handleDrawerClose","showChangePassword","dialog","closeDialog","renderContent","bottomArea","contentWithPadding","renderRouteBasedContent","exact","renderStartComponent","renderDialog","devexpressFixes","startPage","MainLayout","WrapperComponent","goToLogin","authFormRoot","authFormForm","authFormTextFields","updateUsername","updatePassword","updatePasswordRepeat","renderErrorMessage","authFormButtonBar","FloatingVersionInfoMode","modeCssClassName","Dark","floatingVersionInfoContentDark","floatingVersionInfoContentLight","floatingVersionInfoRoot","floatingVersionInfoContent","renderLoading","renderSuccess","renderBackButton","renderError","token","confirmEmailAsync","ConfirmEmail","registerUserAsync","loadTranslationsAsync","removeUpdateListener","isRegistrationAllowed","renderForm","UserRegistration","loggedOutPageDecorator","Decorator","scrollPane","routeExtensions","getExtensions","LoggedOutPageRoot","BannerTextDecorator","bannerText","isFetching","restartServerAsync","updateToken","boxSizing","marginBottom","isHealthCheckRequested","setServerReachable","race","performHealthCheck","pageDecorator","translationsLoaded","setTranslationsLoaded","languageDetected","setLanguageDetected","margin","userAgent","configEntry","RegExp","isBrowserBlocked","sessionState","serializedSessionState","updateState","quinoSession","ISession","quinoSessionEventTarget","ISessionEventTarget","sessionPersister","addStateChangedListener","removeStateChangedListener","updateSession","setSession","errorPopup","quinoStyles","assert","PageRoot","setConfiguration","labelConfigurationService","IQuinoLabelConfigurationService","metadataTreeInitialized","setMetadataTreeInitialized","initialize","logoRoot","sbvDecorator","defaultSBVTranslations","authContext","backendServerUrl","setupTenantContainer","PACKAGE","IDefaultTranslations","unregisterStartupAction","validatorProvider","IFieldValidatorProvider","validationMessageProvider","fr","it","getCurrentLocaleAsync","currentLocale","moveTo","registerSingle","IQuinoDataGridConfigurationService","registerConstant","IQuinoServerServiceConfiguration","baseUrl","IResponseHandler","IAuthenticationFeedback","IReadOnlyCalculator","IQuinoDataGridFilterService","build","searchParams","replaceState","AuthErrorPopupPageRoot","getElementById","accessToken","languageLoaded","setLanguageLoaded","translationLoaded"],"mappings":"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","file":"app.c104e62c18366d4d58ac.bundle.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t2: 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([1310,0]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","// removed by extract-text-webpack-plugin\nmodule.exports = {\"markdownWrapper\":\"markdownWrapper--cce6c\"};","// removed by extract-text-webpack-plugin\nmodule.exports = {\"markdownDetailRoot\":\"markdownDetailRoot--ea4aa\",\"markdownDetail\":\"markdownDetail--d6406\"};","// removed by extract-text-webpack-plugin\nmodule.exports = {\"box\":\"box--3075f\",\"invalidMessage\":\"invalidMessage--2ac4a\"};","// removed by extract-text-webpack-plugin\nmodule.exports = {\"quinoInlineDataGrid\":\"quinoInlineDataGrid--09abf\",\"editableGridEditor\":\"editableGridEditor--b39ef\",\"editableGridEditorCreateButton\":\"editableGridEditorCreateButton--3d8d3\",\"editableDetailPopup\":\"editableDetailPopup--06c78\"};","// removed by extract-text-webpack-plugin\nmodule.exports = {\"performaFileManager\":\"performaFileManager--e4e70\",\"errorField\":\"errorField--debbf\"};","// removed by extract-text-webpack-plugin\nmodule.exports = {\"performaFileUploader\":\"performaFileUploader--8f650\"};","// removed by extract-text-webpack-plugin\nmodule.exports = {\"upload\":\"upload--9ae20\"};","// removed by extract-text-webpack-plugin\nmodule.exports = {\"verticalListBox\":\"verticalListBox--2e132\"};","// removed by extract-text-webpack-plugin\nmodule.exports = {\"markdown\":\"markdown--54cd0\"};","// removed by extract-text-webpack-plugin\nmodule.exports = {\"breadcrumbs\":\"breadcrumbs--2a759\"};","// removed by extract-text-webpack-plugin\nmodule.exports = {\"exportButtonBlock\":\"exportButtonBlock--3d3ea\"};","// removed by extract-text-webpack-plugin\nmodule.exports = {\"titleBox\":\"titleBox--4f73f\"};","// removed by extract-text-webpack-plugin\nmodule.exports = {\"popupButtonBar\":\"popupButtonBar--0762e\"};","// removed by extract-text-webpack-plugin\nmodule.exports = {\"avatar\":\"avatar--e6834\"};","// removed by extract-text-webpack-plugin\nmodule.exports = {\"root\":\"root--48daa\",\"avatar\":\"avatar--2af52\"};","// removed by extract-text-webpack-plugin\nmodule.exports = {\"button\":\"button--34077\"};","// removed by extract-text-webpack-plugin\nmodule.exports = {\"searchIcon\":\"searchIcon--91327\"};","// removed by extract-text-webpack-plugin\nmodule.exports = {\"scrollView\":\"scrollView--386dd\",\"content\":\"content--2fefa\"};","// removed by extract-text-webpack-plugin\nmodule.exports = {\"dialog\":\"dialog--c440c\",\"throbberContainer\":\"throbberContainer--31119\",\"buttonDiv\":\"buttonDiv--2b937\",\"dialogContent\":\"dialogContent--6f2d2\",\"noContext\":\"noContext--03f58\"};","// removed by extract-text-webpack-plugin\nmodule.exports = {\"button\":\"button--059f6\",\"buttonContent\":\"buttonContent--16f8a\",\"listItemText\":\"listItemText--28fcc\",\"icon\":\"icon--de524\"};","// removed by extract-text-webpack-plugin\nmodule.exports = {\"popover\":\"popover--d24d3\",\"userAvatar\":\"userAvatar--84963\",\"userMenuList\":\"userMenuList--f4306\",\"divider\":\"divider--40584\",\"topDiv\":\"topDiv--d74fa\",\"bottomDiv\":\"bottomDiv--6c2b1\"};","// removed by extract-text-webpack-plugin\nmodule.exports = {\"button\":\"button--6f274\",\"label\":\"label--4b077\"};","// removed by extract-text-webpack-plugin\nmodule.exports = {\"formControl\":\"formControl--9e48b\",\"throbbingContainer\":\"throbbingContainer--622bc\"};","// removed by extract-text-webpack-plugin\nmodule.exports = {\"versionInfoRoot\":\"versionInfoRoot--52242\",\"versionInfoVersionNumber\":\"versionInfoVersionNumber--27020\"};","// removed by extract-text-webpack-plugin\nmodule.exports = {\"button\":\"button--aa792\",\"root\":\"root--2238c\",\"wideModeRoot\":\"wideModeRoot--1a9f9\",\"listItemText\":\"listItemText--f2260\",\"icon\":\"icon--88933\"};","// removed by extract-text-webpack-plugin\nmodule.exports = {\"root\":\"root--afc28\"};","// removed by extract-text-webpack-plugin\nmodule.exports = {\"navList\":\"navList--bc587\"};","// removed by extract-text-webpack-plugin\nmodule.exports = {\"divider\":\"divider--f1154\"};","// removed by extract-text-webpack-plugin\nmodule.exports = {\"general\":\"general--5b62e\",\"open\":\"open--90d5d\"};","// removed by extract-text-webpack-plugin\nmodule.exports = {\"grow\":\"grow--9ee4d\",\"appBarWrapper\":\"appBarWrapper--54445\",\"appBar\":\"appBar--74b25\",\"appTitle\":\"appTitle--a7d37\",\"menuButton\":\"menuButton--f579a\",\"logo\":\"logo--c15de\",\"toolbar\":\"toolbar--0eefa\"};","// removed by extract-text-webpack-plugin\nmodule.exports = {\"changePasswordTextField\":\"changePasswordTextField--06d35\",\"changePasswordButtonIcon\":\"changePasswordButtonIcon--8d0b7\"};","// removed by extract-text-webpack-plugin\nmodule.exports = {\"profileFormForm\":\"profileFormForm--5ba70\",\"profileFormTextField\":\"profileFormTextField--bcc83\",\"profileFormAction\":\"profileFormAction--b9098\",\"profileFormDiscardButton\":\"profileFormDiscardButton--670ad\",\"profileFormSaveButton\":\"profileFormSaveButton--d91ca\"};","// removed by extract-text-webpack-plugin\nmodule.exports = {\"divContainer\":\"divContainer--46cc5\"};","// removed by extract-text-webpack-plugin\nmodule.exports = {\"root\":\"root--278c7\",\"devexpressFixes\":\"devexpressFixes--00127\",\"bottomArea\":\"bottomArea--b8c13\",\"content\":\"content--e42bb\",\"contentWithPadding\":\"contentWithPadding--c140a\"};","// removed by extract-text-webpack-plugin\nmodule.exports = {\"floatingVersionInfoRoot\":\"floatingVersionInfoRoot--749bf\",\"floatingVersionInfoContent\":\"floatingVersionInfoContent--31730\",\"floatingVersionInfoContentLight\":\"floatingVersionInfoContentLight--c8ca5\",\"floatingVersionInfoContentDark\":\"floatingVersionInfoContentDark--4e99c\"};","// removed by extract-text-webpack-plugin\nmodule.exports = {\"scrollPane\":\"scrollPane--7ab56\"};","// removed by extract-text-webpack-plugin\nmodule.exports = {\"root\":\"root--055a0\",\"message\":\"message--233c0\"};","// removed by extract-text-webpack-plugin\nmodule.exports = {\"errorPopup\":\"errorPopup--52da8\"};","// removed by extract-text-webpack-plugin\nmodule.exports = {\"root\":\"root--2a5a0\"};","module.exports = \"/assets/img/logo.png\";","// removed by extract-text-webpack-plugin\nmodule.exports = {\"logoRoot\":\"logoRoot--df589\"};","// removed by extract-text-webpack-plugin\nmodule.exports = {\"sbvDecorator\":\"sbvDecorator--a9612\",\"sbvDecoratorChildren\":\"sbvDecoratorChildren--efdc8\",\"sbvDecoratorImageWrapper\":\"sbvDecoratorImageWrapper--66d52\",\"sbvDecoratorImage\":\"sbvDecoratorImage--a5420\"};","// noinspection SpellCheckingInspection\nexport const SHARED_SERVICE_IDENTIFIER = {\n ISETTINGS: Symbol.for('ISettings'),\n IPERFORMAURLMANAGER: Symbol.for('IPerformaUrlManager'),\n IPERFORMASERVER: Symbol.for('IPerformaServer'),\n ICONFIGURATIONSERVICE: Symbol.for('IConfigurationService'),\n ISESSIONPERSISTER: Symbol.for('ISessionPersister'),\n ILOGINWRAPPERSTATEHELPER: Symbol.for('ILoginWrapperStateHelper'),\n IPERFORMAAUTHSERVICE: Symbol.for('IPerformaAuthService'),\n ISESSIONSERVICE: Symbol.for('IPerformaSessionService'),\n ICRMCONTEXTWRAPPERSTATEHELPER: Symbol.for('ICrmContextWrapperStateHelper'),\n IIMAGEFETCHER: Symbol.for('IImageFetcher'),\n IFORGOTPASSWORDSTATEHELPER: Symbol.for('IForgotPasswordStateHelper'),\n IPASSWORDRESETSTATEHELPER: Symbol.for('IPasswordResetStateHelper'),\n IPASSWORDVALIDATOR: Symbol.for('IPasswordValidator'),\n IPROFILESERVICE: Symbol.for('IProfileService'),\n IROUTEHELPER: Symbol.for('IRouteHelper'),\n IROUTEEXTENSIONS: Symbol.for('IRouteExtensions'),\n IAUTHORIZATIONFACTORY: Symbol.for('IAuthorizationFactory'),\n IPASSWORDVALIDATORCONFIG: Symbol.for('IPasswordValidatorConfig'),\n IPASSWORDPOLICY: Symbol.for('IPasswordPolicy'),\n WINDOW: Symbol.for('Window'),\n IVERSIONINFOSERVICE: Symbol.for('IVersionInformationService'),\n IFRONTENDVERSIONINFO: Symbol.for('IFrontendVersionInfo'),\n ICHANGEPASSWORDSTATEHELPER: Symbol.for('IChangePasswordStateHelper'),\n IPROFILEFORMSTATEHELPER: Symbol.for('IProfileFormStateHelper'),\n ILAYOUTLOADER: Symbol.for('ILayoutLoader'),\n ILAYOUTCATALOGMANAGER: Symbol.for('ILayoutCatalogManager'),\n ICURRENTUSERPROFILECACHE: Symbol.for('ICurrentUserProfileCache'),\n ICUSTOMACTIONNAMESREADER: Symbol.for('ICustomActionNamesReader'),\n ICUSTOMACTIONPARSER: Symbol.for('ICustomActionParser'),\n IENTITYACTIONSEXTRACTOR: Symbol.for('IEntityActionsExtractor'),\n ICUSTOMACTIONSERVICE: Symbol.for('ICustomActionService'),\n ICONTEXTROUTECHECKER: Symbol.for('IContextRouteChecker'),\n ICONFIGURATIONLOADER: Symbol.for('IConfigurationLoader'),\n ILAYOUTNAMERESOLVER: Symbol.for('ILayoutNameResolver'),\n IDATAENTRYSTATUSSERVICE: Symbol.for('IDataEntryStatusService'),\n ISTORAGESERVICE: Symbol.for('IStorageService'),\n IPERFORMASTORAGE: Symbol.for('IPerformaStorage'),\n IPERFORMAFILEHANDLER: Symbol.for('IPerformaFileHandler'),\n IPERFORMASTORE: Symbol.for('IPerformaStore'),\n PERFORMADATAGRIDCONFIGURATIONSERVICE: Symbol.for('PerformaDataGridConfigurationService'),\n ILOCATIONSERVICE: Symbol.for('ILocationService'),\n IUPLOADERRORREGISTRATION: Symbol.for('IUploadErrorRegistration'),\n ILOGINFORMEXTENSION: Symbol.for('ILoginFormExtension'),\n};\n","import { IConfiguration } from '.';\nimport {\n TBooleanConfigEntries,\n TConfigurationDTO,\n TNumberConfigEntries,\n TStringConfigEntries,\n} from './types';\n\nexport class Configuration implements IConfiguration {\n private readonly configurationValues: {};\n\n constructor(configurationValues: TConfigurationDTO) {\n this.configurationValues = Object.keys(configurationValues).reduce(function(newObj, key) {\n newObj[key.toLowerCase()] = configurationValues[key];\n return newObj;\n }, {});\n }\n\n private getConfigurationValueForKey(key: string) {\n return this.configurationValues[key.toLowerCase()];\n }\n\n getStringValue(key: TStringConfigEntries) {\n return this.getStringValueOrDefault(key, undefined);\n }\n\n getStringValueOrDefault(\n key: TStringConfigEntries,\n defaultValue: TDefault\n ): string | TDefault {\n const value = this.getConfigurationValueForKey(key);\n\n if (value !== undefined) {\n return value;\n }\n\n return defaultValue;\n }\n\n getBooleanValue(key: TBooleanConfigEntries): boolean | undefined {\n return this.getBooleanValueOrDefault(key, undefined);\n }\n\n getBooleanValueOrDefault(\n key: TBooleanConfigEntries,\n defaultValue: TDefault\n ): boolean | TDefault {\n const value = this.getConfigurationValueForKey(key);\n\n if (value !== undefined) {\n return value.toLowerCase() === 'true';\n }\n\n return defaultValue;\n }\n\n getNumberValue(key: TNumberConfigEntries): number | undefined {\n return this.getNumberValueOrDefault(key, undefined);\n }\n\n getNumberValueOrDefault(\n key: TNumberConfigEntries,\n defaultValue: TDefault\n ): number | TDefault {\n const value = this.getConfigurationValueForKey(key);\n\n if (value !== undefined) {\n return parseFloat(value);\n }\n\n return defaultValue;\n }\n}\n","import { IConfiguration } from './IConfiguration';\nimport { IConfigurationService } from './IConfigurationService';\nimport { inject, injectable } from 'inversify';\nimport { SHARED_SERVICE_IDENTIFIER } from '../ioc/sharedIdentifiers';\nimport { Configuration } from './Configuration';\nimport { IConfigurationLoader } from './IConfigurationLoader';\nimport { TBooleanConfigEntries, TNumberConfigEntries, TStringConfigEntries } from './types';\n\n@injectable()\nexport class ConfigurationService implements IConfigurationService {\n private configuration?: IConfiguration;\n\n constructor(\n @inject(SHARED_SERVICE_IDENTIFIER.ICONFIGURATIONLOADER)\n private configurationLoader: IConfigurationLoader\n ) {}\n\n public async getConfigurationAsync(): Promise {\n if (!this.configuration) {\n this.configuration = new Configuration(\n await this.configurationLoader.loadConfigurationMapAsync()\n );\n }\n\n return this.configuration;\n }\n\n /**\n * Retrieve a value from the config\n * @param key\n * @returns the config value for `key`, or undefined, if the config does not have a corresponding value\n */\n async getStringValueAsync(key: TStringConfigEntries): Promise {\n const configuration = await this.getConfigurationAsync();\n return configuration.getStringValue(key);\n }\n\n /**\n * Retrieve a value from the config\n * @param key\n * @param defaultValue\n * @returns the config value for `key`, or `defaultValue`, if the config does not have a corresponding value\n */\n async getStringValueOrDefaultAsync(\n key: TStringConfigEntries,\n defaultValue: string\n ): Promise {\n const configuration = await this.getConfigurationAsync();\n return configuration.getStringValueOrDefault(key, defaultValue);\n }\n\n /**\n * Retrieve a value from the config\n * @param key\n * @returns the config value for `key`, or undefined, if the config does not have a corresponding value\n */\n async getBooleanValueAsync(key: TBooleanConfigEntries): Promise {\n const configuration = await this.getConfigurationAsync();\n return configuration.getBooleanValue(key);\n }\n\n /**\n * Retrieve a value from the config\n * @param key\n * @param defaultValue\n * @returns the config value for `key`, or `defaultValue`, if the config does not have a corresponding value\n */\n async getBooleanValueOrDefaultAsync(\n key: TBooleanConfigEntries,\n defaultValue: boolean\n ): Promise {\n const configuration = await this.getConfigurationAsync();\n return configuration.getBooleanValueOrDefault(key, defaultValue);\n }\n\n /**\n * Retrieve a value from the config\n * @param key\n * @returns the config value for `key`, or undefined, if the config does not have a corresponding value\n */\n async getNumberValueAsync(key: TNumberConfigEntries): Promise {\n const configuration = await this.getConfigurationAsync();\n return configuration.getNumberValue(key);\n }\n\n /**\n * Retrieve a value from the config\n * @param key\n * @param defaultValue\n * @returns the config value for `key`, or `defaultValue`, if the config does not have a corresponding value\n */\n async getNumberValueOrDefaultAsync(\n key: TNumberConfigEntries,\n defaultValue: number\n ): Promise {\n const configuration = await this.getConfigurationAsync();\n return configuration.getNumberValueOrDefault(key, defaultValue);\n }\n}\n","import { ILocationService } from './ILocationService';\nimport * as H from 'history';\nimport { inject, injectable } from 'inversify';\nimport { IBookmarkTrackChangesService, QuinoUIServiceSymbols } from '@quino/ui';\n\n@injectable()\nexport class LocationService implements ILocationService {\n constructor(\n @inject(QuinoUIServiceSymbols.IBookmarkTrackChangesService)\n private bookmarkTrackChangesService: IBookmarkTrackChangesService\n ) {}\n\n navigateToUrl = async (history: H.History, url: string): Promise => {\n if (await this.canChangeLocation()) {\n history.push(url);\n }\n };\n\n performAction = async (action: () => void): Promise => {\n if (await this.canChangeLocation()) {\n action();\n }\n };\n\n canChangeLocation = async (): Promise => {\n const canChangeLocation = !(await this.bookmarkTrackChangesService.pendingChanges());\n return canChangeLocation;\n };\n}\n","import { inject, injectable } from 'inversify';\nimport { IGenericObject, IRequestBuilder, QuinoCoreServiceSymbols } from '@quino/core';\nimport { ICrmContext } from '../crmContext/ICrmContext';\nimport { ICrmContextIdentifier } from '../crmContext/ICrmContextIdentifier';\nimport { SHARED_SERVICE_IDENTIFIER } from '../ioc/sharedIdentifiers';\nimport { IPerformaServer } from './IPerformaServer';\nimport { IPerformaUrlManager } from './IPerformaUrlManager';\nimport { IAuthorizationInformation } from '../authorization/IAuthorizationInformation';\nimport { IBackendVersionInfo } from '../versionInfo/IBackendVersionInfo';\nimport { IRestartServerDTO } from './DTOs/IRestartServerDTO';\nimport { TConfigurationDTO } from '../configuration/types';\n\n@injectable()\nexport class PerformaServer implements IPerformaServer {\n constructor(\n @inject(SHARED_SERVICE_IDENTIFIER.IPERFORMAURLMANAGER)\n private urlManager: IPerformaUrlManager,\n @inject(QuinoCoreServiceSymbols.IRequestBuilder) private requestBuilder: IRequestBuilder\n ) {}\n\n async getConfigurationAsync(): Promise {\n const url = this.urlManager.getConfigurationUrl();\n return await this.requestBuilder\n .create(url, 'get')\n .requiresAuthentication()\n .fetchJson();\n }\n\n async getContextListAsync(forceReload?: boolean): Promise {\n const url = this.urlManager.getContextListUrl(forceReload);\n return await this.requestBuilder\n .create(url, 'get')\n .requiresAuthentication()\n .fetchJson();\n }\n\n async setContextAsync(context: ICrmContextIdentifier): Promise {\n const url = this.urlManager.getSetContextUrl();\n return await this.requestBuilder\n .create(url, 'post')\n .requiresAuthentication()\n .setJsonPayload(context)\n .fetchJson();\n }\n\n async getTokenValidAsync(): Promise {\n const url = this.urlManager.getCheckTokenUrl();\n return await this.requestBuilder\n .create(url, 'get')\n .requiresAuthentication()\n .fetchJson();\n }\n\n async getAuthorizationAsync(): Promise {\n const url = this.urlManager.getAuthorizationUrl();\n return await this.requestBuilder\n .create(url, 'get')\n .requiresAuthentication()\n .fetchJson();\n }\n\n async getVersionInfoAsync(): Promise {\n const url = this.urlManager.getVersionInfoUrl();\n return await this.requestBuilder.create(url, 'get').fetchJson();\n }\n\n async restartServerAsync(data: IRestartServerDTO): Promise {\n const url = this.urlManager.getRestartServerUrl();\n await this.requestBuilder\n .create(url, 'post')\n .setJsonPayload(data)\n .fetch();\n }\n\n async sendLogoutRequest(): Promise {\n const url = this.urlManager.getLogoutUrl();\n // requiresAuthentication() is necessary to send the token with the request even the api does not require it\n return await this.requestBuilder\n .create(url, 'post')\n .requiresAuthentication()\n .fetch();\n }\n\n async isServerReachable(): Promise {\n const url = this.urlManager.getHealthCheck();\n await this.requestBuilder.create(url, 'get').fetch();\n }\n\n async updateObjectAsync(\n className: string,\n primaryKey: string,\n layout: string,\n data: Partial\n ): Promise {\n const url = this.urlManager.updateObjectUrl(className, primaryKey, layout);\n return await this.requestBuilder\n .create(url, 'patch')\n .setJsonPayload(data)\n .requiresAuthentication()\n .fetchJson();\n }\n\n async insertObjectAsync(\n className: string,\n layout: string,\n data: Partial\n ): Promise {\n const url = this.urlManager.insertObjectUrl(className, layout);\n return await this.requestBuilder\n .create(url, 'post')\n .setJsonPayload(data)\n .requiresAuthentication()\n .fetchJson();\n }\n}\n","import { inject, injectable } from 'inversify';\nimport { IPerformaUrlManager } from './IPerformaUrlManager';\nimport { ICrmContextIdentifier } from '..';\nimport { IUrlHelper, QuinoCoreServiceSymbols } from '@quino/core';\n\n@injectable()\nexport class PerformaUrlManager implements IPerformaUrlManager {\n private readonly appControllerName = 'app';\n private readonly authControllerName = 'auth';\n private readonly authorizationControllerName = 'authorization';\n private readonly configurationControllerName = 'configuration';\n private readonly contextControllerName = 'context';\n private readonly profileControllerName = 'profile';\n private readonly customActionControllerName = 'customaction';\n private readonly storageControllerName = 'storage';\n private readonly genericControllerName = 'generic';\n private readonly recruiterControllerName = 'recruiter';\n private readonly customQueryControllerName = 'queries';\n\n constructor(@inject(QuinoCoreServiceSymbols.IUrlHelper) private urlHelper: IUrlHelper) {}\n\n getConfigurationUrl(): string {\n return this.urlHelper.combineUrlParts(this.configurationControllerName, 'list');\n }\n\n getContextListUrl(forceReload?: boolean): string {\n const params = forceReload ? this.urlHelper.combineQueryParams({ forceReload }) : '';\n return this.urlHelper.combineUrlParts(this.contextControllerName, 'list') + params;\n }\n\n getSetContextUrl(): string {\n return this.urlHelper.combineUrlParts(this.contextControllerName);\n }\n\n getContextImageUrl(crmContextIdentifier: ICrmContextIdentifier): string {\n return (\n this.urlHelper.combineUrlParts(this.contextControllerName, 'image') +\n this.urlHelper.combineQueryParams(crmContextIdentifier)\n );\n }\n\n getProfileUrl(): string {\n return this.urlHelper.combineUrlParts(this.profileControllerName);\n }\n\n getConfirmEmailUrl(): string {\n return this.urlHelper.combineUrlParts(this.profileControllerName, 'confirmmailaddress');\n }\n\n getSetPasswordUrl(): string {\n return this.urlHelper.combineUrlParts(this.profileControllerName, 'setpassword');\n }\n\n getResetPasswordUrl(): string {\n return this.urlHelper.combineUrlParts(this.profileControllerName, 'resetpassword');\n }\n\n getChangePasswordUrl(): string {\n return this.urlHelper.combineUrlParts(this.profileControllerName, 'changepassword');\n }\n\n getCheckTokenUrl(): string {\n return this.urlHelper.combineUrlParts(this.authControllerName, 'check');\n }\n\n getAuthorizationUrl(nameFilter?: string): string {\n const params = nameFilter ? this.urlHelper.combineQueryParams({ nameFilter }) : '';\n return this.urlHelper.combineUrlParts(this.authorizationControllerName, 'list') + params;\n }\n\n getVersionInfoUrl(): string {\n return this.urlHelper.combineUrlParts(this.appControllerName, 'versioninfo');\n }\n\n getRestartServerUrl(): string {\n return this.urlHelper.combineUrlParts(this.appControllerName, 'recycle');\n }\n\n getExecuteCustomActionUrl(customActionName: string): string {\n return this.urlHelper.combineUrlParts(this.customActionControllerName, customActionName);\n }\n\n getLogoutUrl(): string {\n return this.urlHelper.combineUrlParts(this.profileControllerName, 'logout');\n }\n\n getDataEntryStatusUrl(): string {\n return this.urlHelper.combineUrlParts(this.profileControllerName, 'dataentrystatus');\n }\n\n getHealthCheck(): string {\n return this.urlHelper.combineUrlParts(this.appControllerName, 'healthcheck');\n }\n\n getPersistentStorageUploadUrl(): string {\n return this.urlHelper.combineUrlParts(this.storageControllerName, 'persistent');\n }\n\n getPersistentStorageDownloadUrl(id: string): string {\n return this.urlHelper.combineUrlParts(\n this.storageControllerName,\n 'persistent',\n 'download',\n id\n );\n }\n\n deletePersistentStorageUrl(id: string): string {\n return this.urlHelper.combineUrlParts(this.storageControllerName, 'persistent', id);\n }\n\n getStorageMetadataUrl(byId: string): string {\n return this.urlHelper.combineUrlParts(this.storageControllerName, 'metadata', 'byId', byId);\n }\n\n findStorageMetadataUrl(\n ownerKey: string,\n ownerValue: string,\n entityKey: string,\n entityValue: string\n ): string {\n const queryParams = {};\n queryParams[ownerKey] = ownerValue;\n queryParams[entityKey] = entityValue;\n\n return (\n this.urlHelper.combineUrlParts(this.storageControllerName, 'metadata', 'find') +\n this.urlHelper.combineQueryParams(queryParams)\n );\n }\n\n setCustomAttributesToStorageMetadataUrl(byId: string): string {\n return this.urlHelper.combineUrlParts(this.storageControllerName, 'metadata', byId);\n }\n\n insertObjectUrl(className: string, layout: string): string {\n return (\n this.urlHelper.combineUrlParts(this.genericControllerName, 'class', className) +\n this.urlHelper.combineQueryParams({ layout })\n );\n }\n\n updateObjectUrl(className: string, primaryKey: string, layout: string): string {\n return (\n this.urlHelper.combineUrlParts(\n this.genericControllerName,\n 'class',\n className,\n 'primaryKey',\n primaryKey\n ) + this.urlHelper.combineQueryParams({ layout })\n );\n }\n\n getRegisterRecruiterUrl(): string {\n return this.urlHelper.combineUrlParts(this.recruiterControllerName, 'register');\n }\n\n getCustomQueryListUrl(queryName: string, params: object): string {\n return (\n this.urlHelper.combineUrlParts(this.customQueryControllerName, 'list', queryName) +\n this.urlHelper.combineQueryParams(params)\n );\n }\n}\n","import { IPerformaSessionState } from './IPerformaSessionState';\nimport { inject, injectable } from 'inversify';\nimport { SHARED_SERVICE_IDENTIFIER } from '../ioc/sharedIdentifiers';\nimport { ISessionPersister } from './ISessionPersister';\n\n@injectable()\nexport class SessionPersister implements ISessionPersister {\n private static readonly STORAGE_ENTRY_NAME = 'performa_shared_session';\n private static readonly SESSION_ENTRY_ID = 'performa_local_id';\n\n constructor(@inject(SHARED_SERVICE_IDENTIFIER.WINDOW) private window: Window) {}\n\n getSession() {\n const localStorageSerialized = this.window.localStorage.getItem(\n SessionPersister.STORAGE_ENTRY_NAME\n );\n const sessionStorageSerialized = this.window.sessionStorage.getItem(this.getUniqueId());\n\n const localStorage = SessionPersister.unmarshal(localStorageSerialized);\n const sessionStorage = SessionPersister.unmarshal(sessionStorageSerialized);\n\n const mergedSession = { ...sessionStorage, ...localStorage, locale: sessionStorage.locale };\n return mergedSession;\n }\n\n setSession(newState: IPerformaSessionState) {\n this.window.sessionStorage.setItem(this.getUniqueId(), SessionPersister.marshal(newState));\n this.window.localStorage.setItem(\n SessionPersister.STORAGE_ENTRY_NAME,\n SessionPersister.marshal(newState)\n );\n }\n\n private static marshal(state: IPerformaSessionState) {\n return JSON.stringify(state);\n }\n\n private static unmarshal(value: string | null): IPerformaSessionState {\n return value ? JSON.parse(value) : {};\n }\n\n private getUniqueId() {\n let value = window.sessionStorage.getItem(SessionPersister.SESSION_ENTRY_ID);\n\n if (!value || !window.name) {\n value = SessionPersister.generateUuid();\n window.sessionStorage.setItem(SessionPersister.SESSION_ENTRY_ID, value);\n }\n\n window.name = value;\n return value;\n }\n\n // https://www.ietf.org/rfc/rfc4122.txt\n // http://stackoverflow.com/a/2117523\n private static generateUuid() {\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {\n const r = (Math.random() * 16) | 0;\n const v = c === 'x' ? r : (r & 0x3) | 0x8;\n return v.toString(16);\n });\n }\n}\n","import { IAuthenticationService, QuinoCoreServiceSymbols } from '@quino/core';\nimport { IPerformaAuthService } from './IPerformaAuthService';\nimport { ISessionService } from '../session/ISessionService';\nimport { inject, injectable } from 'inversify';\nimport { SHARED_SERVICE_IDENTIFIER } from '../ioc/sharedIdentifiers';\nimport { IPerformaServer } from '../api/IPerformaServer';\nimport { ICurrentUserProfileCache } from '../api/ICurrentUserProfileCache';\n\n@injectable()\nexport class AuthService implements IPerformaAuthService {\n constructor(\n @inject(QuinoCoreServiceSymbols.IAuthenticationService)\n private quinoAuthService: IAuthenticationService,\n @inject(SHARED_SERVICE_IDENTIFIER.ISESSIONSERVICE) private sessionService: ISessionService,\n @inject(SHARED_SERVICE_IDENTIFIER.IPERFORMASERVER) private server: IPerformaServer,\n @inject(SHARED_SERVICE_IDENTIFIER.ICURRENTUSERPROFILECACHE)\n private currentUserProfileCache: ICurrentUserProfileCache\n ) {}\n\n async loginAsync(username: string, password: string) {\n const authenticationResult = await this.quinoAuthService.loginAsync({ username, password });\n return authenticationResult.success;\n }\n\n async logoutAsync() {\n this.server.sendLogoutRequest();\n this.currentUserProfileCache.clear();\n\n await this.quinoAuthService.logoutAsync();\n\n this.sessionService.updateSessionState({ activeCrmContext: undefined });\n\n return true;\n }\n\n async verifyTokenAsync(): Promise {\n try {\n await this.server.getTokenValidAsync();\n } catch (e) {\n return false;\n }\n\n return true;\n }\n\n async isLoggedInAsync() {\n return await this.quinoAuthService.isLoggedIn();\n }\n}\n","import { IPerformaSessionState } from './IPerformaSessionState';\nimport { TActionType } from '../redux/types';\nimport { TRootReducerState } from '../redux/store';\nimport { SessionPersister } from './SessionPersister';\n\n// State\n\nexport const initialSessionState: IPerformaSessionState = new SessionPersister(window).getSession();\n\n// Actions\n\nexport const sessionActions = {\n updateSessionState: (state: Partial) =>\n ({\n type: 'session/UPDATE_SESSION_STATE',\n state,\n } as const),\n};\n\ntype TAction = TActionType;\n\n// Reducer\n\nexport const sessionStateReducer = (\n state: IPerformaSessionState,\n action: TAction\n): IPerformaSessionState => {\n switch (action.type) {\n case 'session/UPDATE_SESSION_STATE':\n return { ...state, ...action.state };\n default:\n return { ...state };\n }\n};\n\n// Selectors\n\nexport const getSessionState = (state: TRootReducerState) => state.session;\n\nexport const getCurrentLocale = (state: TRootReducerState) => getSessionState(state).locale;\n","import { ISessionService } from './ISessionService';\nimport { IPerformaSessionState } from './IPerformaSessionState';\nimport { inject, injectable } from 'inversify';\nimport { SHARED_SERVICE_IDENTIFIER } from '../ioc/sharedIdentifiers';\nimport { TPerformaStore } from '../redux/store';\nimport { getSessionState, sessionActions } from './sessionStore';\n\n@injectable()\nexport class SessionService implements ISessionService {\n constructor(@inject(SHARED_SERVICE_IDENTIFIER.IPERFORMASTORE) private store: TPerformaStore) {}\n\n getSessionState(): IPerformaSessionState {\n return getSessionState(this.store.getState());\n }\n\n updateSessionState(state: Partial): void {\n this.store.dispatch(sessionActions.updateSessionState(state));\n }\n}\n","import { ICrmContext } from '../../../crmContext/ICrmContext';\nimport { ICrmContextState } from '../../../contexts/crmContext/ICrmContextState';\nimport { IPerformaI18n } from '../../../lang/IPerformaI18n';\nimport { IPerformaServer } from '../../../api/IPerformaServer';\nimport sortBy from 'lodash/sortBy';\nimport { ICrmContextWrapperStateHelper } from './ICrmContextWrapperStateHelper';\nimport { QuinoCoreServiceSymbols } from '@quino/core';\nimport { ISessionService } from '../../../session/ISessionService';\nimport { inject, injectable } from 'inversify';\nimport { SHARED_SERVICE_IDENTIFIER } from '../../../ioc/sharedIdentifiers';\n\nexport interface ICrmContextWrapperState extends ICrmContextState {\n errorMessage?: string;\n formerActiveContext?: ICrmContext;\n}\n\n@injectable()\nexport class CrmContextWrapperStateHelper implements ICrmContextWrapperStateHelper {\n constructor(\n @inject(SHARED_SERVICE_IDENTIFIER.IPERFORMASERVER) private server: IPerformaServer,\n @inject(SHARED_SERVICE_IDENTIFIER.ISESSIONSERVICE) private sessionService: ISessionService,\n @inject(QuinoCoreServiceSymbols.II18N) private i18n: IPerformaI18n\n ) {}\n\n getInitialState(): Pick<\n ICrmContextState,\n 'activeCrmContext' | 'availableCrmContexts' | 'isLoading' | 'isContextSelectorVisible'\n > {\n const activeCrmContext = this.sessionService.getSessionState().activeCrmContext;\n return {\n activeCrmContext,\n isLoading: true,\n availableCrmContexts: [],\n isContextSelectorVisible: !activeCrmContext,\n };\n }\n\n startLoading(state: ICrmContextWrapperState): ICrmContextWrapperState {\n return {\n ...state,\n isLoading: true,\n errorMessage: undefined,\n };\n }\n\n stopLoading(state: ICrmContextWrapperState): ICrmContextWrapperState {\n return {\n ...state,\n isLoading: false,\n };\n }\n\n loadAvailableCrmContextsAsync = async (\n state: ICrmContextWrapperState,\n forceReload?: boolean\n ): Promise => {\n let response: any;\n\n try {\n response = await this.server.getContextListAsync(forceReload);\n } catch (e) {\n return {\n ...state,\n errorMessage: this.i18n.t(\n 'literal.CustomLiterals.CrmContextWrapper.ErrorCouldNotLoadFetchContexts',\n {\n errorMessage: e.message,\n }\n ),\n };\n }\n\n if (response.errors && response.errors.length > 0) {\n return CrmContextWrapperStateHelper.handleErrors(state, response.errors);\n }\n\n return this.autoSetActiveCrmContextAsync({\n ...state,\n availableCrmContexts: sortBy(response, (o: ICrmContext) => o.caption.toLowerCase()),\n });\n };\n\n setActiveCrmContextAsync(\n state: ICrmContextWrapperState,\n crmContext: ICrmContext\n ): ICrmContextWrapperState {\n this.sessionService.updateSessionState({\n activeCrmContext: crmContext,\n });\n\n return {\n ...state,\n activeCrmContext: crmContext,\n isContextSelectorVisible: !crmContext,\n };\n }\n\n private autoSetActiveCrmContextAsync = (\n state: ICrmContextWrapperState\n ): ICrmContextWrapperState => {\n if (state.availableCrmContexts.length === 1) {\n return this.setActiveCrmContextAsync(state, state.availableCrmContexts[0]);\n } else {\n return state;\n }\n };\n\n private static handleErrors(state: ICrmContextWrapperState, errors: Error[]) {\n const errorMessages = errors.map((error) => error.message);\n return {\n ...state,\n errorMessage: errorMessages.join(', '),\n };\n }\n}\n","import { inject, injectable } from 'inversify';\nimport { IImageFetcher } from './IImageFetcher';\nimport { SHARED_SERVICE_IDENTIFIER } from '../ioc/sharedIdentifiers';\nimport { IRequestBuilder, QuinoCoreServiceSymbols } from '@quino/core';\n\ntype TWindow = {\n URL: {\n createObjectURL(object: any): string;\n };\n};\n\n@injectable()\nexport class ImageFetcher implements IImageFetcher {\n constructor(\n @inject(QuinoCoreServiceSymbols.IRequestBuilder) private requestBuilder: IRequestBuilder,\n @inject(SHARED_SERVICE_IDENTIFIER.WINDOW) private window: TWindow\n ) {}\n\n async tryLoadObjectUrl(src: string): Promise {\n const response = await this.requestBuilder\n .create(src, 'get')\n .requiresAuthentication()\n .fetchImage();\n return this.window.URL.createObjectURL(response);\n }\n}\n","import { IPasswordResetStateHelper } from './IPasswordResetStateHelper';\nimport { inject, injectable } from 'inversify';\nimport { SHARED_SERVICE_IDENTIFIER } from '../../../ioc/sharedIdentifiers';\nimport { IProfileService } from '../../../api/IProfileService';\nimport { QuinoCoreServiceSymbols } from '@quino/core';\nimport { IPerformaI18n } from '../../../lang';\nimport flow from 'lodash/flow';\nimport { IPasswordValidator } from '../../../authentication/IPasswordValidator';\n\nexport interface IPasswordResetState {\n errorMessage?: string;\n username: string;\n password: string;\n passwordRepeat: string;\n isValid: boolean;\n processCompleted: boolean;\n usernameError?: string;\n passwordError?: string;\n passwordRepeatError?: string;\n}\n\n@injectable()\nexport class PasswordResetStateHelper implements IPasswordResetStateHelper {\n constructor(\n @inject(SHARED_SERVICE_IDENTIFIER.IPROFILESERVICE) private profileService: IProfileService,\n @inject(QuinoCoreServiceSymbols.II18N) private i18n: IPerformaI18n,\n @inject(SHARED_SERVICE_IDENTIFIER.IPASSWORDVALIDATOR)\n private passwordValidator: IPasswordValidator\n ) {}\n\n updateUsername(oldState: IPasswordResetState, username: string): IPasswordResetState {\n return {\n ...oldState,\n username,\n };\n }\n\n updatePassword(oldState: IPasswordResetState, password: string) {\n return {\n ...oldState,\n password,\n };\n }\n\n updatePasswordRepeat(oldState: IPasswordResetState, passwordRepeat: string) {\n return {\n ...oldState,\n passwordRepeat,\n };\n }\n\n async submitAsync(oldState: IPasswordResetState, secretToken: string) {\n const validatedState = await this.validateAsync(oldState);\n\n if (!validatedState.isValid) {\n return { ...validatedState };\n }\n\n try {\n await this.profileService.setPasswordAsync(\n validatedState.username,\n validatedState.password,\n secretToken\n );\n return { ...validatedState, processCompleted: true };\n } catch (e) {\n return {\n ...validatedState,\n errorMessage: this.i18n.t(\n 'literal.CustomLiterals.PasswordReset.ErrorResetTokenExpired'\n ),\n processCompleted: false,\n };\n }\n }\n\n private async validateAsync(oldState: IPasswordResetState): Promise {\n return flow([\n this.resetValidationState,\n this.validateUsername,\n this.validatePasswordRepeat,\n this.validatePasswordAsync,\n ])(oldState);\n }\n\n private resetValidationState = (state: IPasswordResetState): IPasswordResetState => {\n return {\n ...state,\n isValid: true,\n errorMessage: undefined,\n usernameError: undefined,\n passwordError: undefined,\n passwordRepeatError: undefined,\n };\n };\n\n private validateUsername = (state: IPasswordResetState): IPasswordResetState => {\n if (state.username.length > 0) {\n return {\n ...state,\n };\n }\n\n return {\n ...state,\n isValid: false,\n usernameError: this.i18n.t(\n 'literal.CustomLiterals.PasswordReset.ErrorUsernameMustBeNotEmpty'\n ),\n };\n };\n\n private validatePasswordAsync = async (\n state: IPasswordResetState\n ): Promise => {\n const validationErrors = await this.passwordValidator.validateAsync(state.password);\n if (validationErrors.length === 0) {\n return {\n ...state,\n };\n }\n\n return {\n ...state,\n isValid: false,\n passwordError: validationErrors.join(' '),\n };\n };\n\n private validatePasswordRepeat = (state: IPasswordResetState): IPasswordResetState => {\n if (state.password === state.passwordRepeat) {\n return {\n ...state,\n };\n }\n\n return {\n ...state,\n isValid: false,\n passwordRepeatError: this.i18n.t(\n 'literal.CustomLiterals.PasswordReset.ErrorPasswordsDontMatch'\n ),\n };\n };\n}\n","import { IForgotPasswordStateHelper } from './IForgotPasswordStateHelper';\nimport { IForgotPasswordState } from './IForgotPasswordState';\nimport { inject, injectable } from 'inversify';\nimport { SHARED_SERVICE_IDENTIFIER } from '../../../ioc/sharedIdentifiers';\nimport { IProfileService } from '../../../api/IProfileService';\nimport { QuinoCoreServiceSymbols } from '@quino/core';\nimport { IPerformaI18n } from '../../../lang/IPerformaI18n';\n\n@injectable()\nexport class ForgotPasswordStateHelper implements IForgotPasswordStateHelper {\n constructor(\n @inject(SHARED_SERVICE_IDENTIFIER.IPROFILESERVICE) private profileService: IProfileService,\n @inject(QuinoCoreServiceSymbols.II18N) private i18n: IPerformaI18n\n ) {}\n\n updateUsername(oldState: IForgotPasswordState, username: string): IForgotPasswordState {\n return { ...oldState, username: username };\n }\n\n async submitAsync(oldState: IForgotPasswordState): Promise {\n try {\n await this.profileService.resetPasswordAsync(oldState.username);\n return { ...oldState, processCompleted: true };\n } catch (e) {\n const errorMessage = this.i18n.t('literal.CustomLiterals.ForgotPassword.ErrorMessage', {\n errorMessage: e.message,\n });\n\n return {\n ...oldState,\n errorMessage,\n processCompleted: false,\n };\n }\n }\n}\n","import { IProfileService } from './IProfileService';\nimport { inject, injectable } from 'inversify';\nimport { IRequestBuilder, QuinoCoreServiceSymbols } from '@quino/core';\nimport { SHARED_SERVICE_IDENTIFIER } from '../ioc/sharedIdentifiers';\nimport { IPerformaUrlManager } from './IPerformaUrlManager';\nimport { IChangePasswordDTO } from './DTOs/IChangePasswordDTO';\nimport { IUserProfileDTO } from './DTOs/IUserProfileDTO';\nimport { IUserRegistrationDTO } from './DTOs/IUserRegistrationDTO';\nimport { IConfirmEmailDTO } from './DTOs/IConfirmEmailDTO';\nimport { ICurrentUserProfileCache } from './ICurrentUserProfileCache';\n\n@injectable()\nexport class ProfileService implements IProfileService {\n constructor(\n @inject(QuinoCoreServiceSymbols.IRequestBuilder) private requestBuilder: IRequestBuilder,\n @inject(SHARED_SERVICE_IDENTIFIER.IPERFORMAURLMANAGER)\n private urlManager: IPerformaUrlManager,\n @inject(SHARED_SERVICE_IDENTIFIER.ICURRENTUSERPROFILECACHE)\n private currentUserProfileCache: ICurrentUserProfileCache\n ) {}\n\n async setPasswordAsync(username: string, password: string, secret: string): Promise {\n const url = this.urlManager.getSetPasswordUrl();\n await this.requestBuilder\n .create(url, 'post')\n .setJsonPayload({\n username,\n password,\n secret,\n })\n .fetch();\n }\n\n async resetPasswordAsync(username: string): Promise {\n const url = this.urlManager.getResetPasswordUrl();\n await this.requestBuilder\n .create(url, 'post')\n .setJsonPayload({ username })\n .fetch();\n }\n\n async changePasswordAsync(data: IChangePasswordDTO): Promise {\n const url = this.urlManager.getChangePasswordUrl();\n await this.requestBuilder\n .create(url, 'post')\n .requiresAuthentication()\n .setJsonPayload(data)\n .fetch();\n }\n\n async getProfileInformationAsync(): Promise {\n const cachedProfile = this.currentUserProfileCache.getAsync();\n if (cachedProfile) {\n return cachedProfile;\n }\n\n const url = this.urlManager.getProfileUrl();\n const response = this.requestBuilder\n .create(url, 'get')\n .requiresAuthentication()\n .fetchJson();\n\n this.currentUserProfileCache.populate(response);\n\n response.then(\n (value) => {\n return response;\n },\n (reason) => {\n this.currentUserProfileCache.clear();\n throw new Error(reason);\n }\n );\n\n return response;\n }\n\n async updateProfileInformationAsync(data: Partial) {\n const url = this.urlManager.getProfileUrl();\n await this.requestBuilder\n .create(url, 'patch')\n .requiresAuthentication()\n .setJsonPayload(data)\n .fetch();\n this.currentUserProfileCache.clear();\n }\n\n async registerUserAsync(data: IUserRegistrationDTO) {\n const url = this.urlManager.getProfileUrl();\n await this.requestBuilder\n .create(url, 'post')\n .setJsonPayload(data)\n .fetch();\n\n this.currentUserProfileCache.clear();\n }\n\n async confirmEmailAsync(data: IConfirmEmailDTO) {\n const url = this.urlManager.getConfirmEmailUrl();\n await this.requestBuilder\n .create(url, 'post')\n .setJsonPayload(data)\n .fetch();\n\n this.currentUserProfileCache.clear();\n }\n}\n","import { ICrmContextIdentifier } from './ICrmContextIdentifier';\n\nexport class CrmContextIdentifierSerializer {\n public static serialize(crmContextIdentifier: ICrmContextIdentifier): string {\n return `${crmContextIdentifier.entityName}-${crmContextIdentifier.id}`;\n }\n\n public static deserialize(value: string): ICrmContextIdentifier | undefined {\n const regex = /^(.+?)-(.+)$/;\n const match = regex.exec(value);\n if (!match || match.length !== 3) {\n return undefined;\n }\n\n return {\n entityName: match[1],\n id: match[2],\n };\n }\n}\n","import { IRouteHelper } from './IRouteHelper';\nimport { injectable } from 'inversify';\nimport { ICrmContextIdentifier } from '../crmContext';\nimport { CrmContextIdentifierSerializer } from '../crmContext/CrmContextIdentifierSerializer';\nimport { matchPath } from 'react-router';\n\nexport const NEW_RECORD_URL_SEGMENT = 'new';\nexport const ROUTE_NS_USER = 'user';\n\n@injectable()\nexport class RouteHelper implements IRouteHelper {\n getLoginUrl = () => '/';\n\n getStartUrl = () => '/';\n\n getForgotPasswordUrl = (username = '') => `/forgot-password/${username}`;\n getProfileUrl = () => `/${ROUTE_NS_USER}/profile/`;\n getSettingsUrl = () => `/${ROUTE_NS_USER}/settings/`;\n getRegisterUserUrl = () => `/${ROUTE_NS_USER}/register/User/`;\n getRegisterPVUrl = () => `/${ROUTE_NS_USER}/register/PV/`;\n\n getRoutePathWithOptionalCrmContext = () => this.calculateRoute(':crmContext([^\\\\/]+-[^\\\\/]+)?');\n\n getRoutePathForRoot = () => this.calculateRoute();\n getRoutePathForRootWithCrmContext = () => this.calculateRoute(':crmContext');\n getRoutePathForList = () => this.calculateRoute(':crmContext', ':siteMapPath');\n getRoutePathForDetail = () => this.calculateRoute(':crmContext', ':siteMapPath', ':id');\n getRoutePathForHistory = () =>\n this.calculateRoute(':crmContext', ':siteMapPath', ':id', ':history');\n\n getRoutePathForPasswordReset = () => this.calculateRoute('password-reset', ':token');\n getRoutePathForForgotPassword = () => this.calculateRoute('forgot-password', ':username?');\n getRoutePathForConfirmEmail = () =>\n this.calculateRoute(ROUTE_NS_USER, 'confirm-email', ':token');\n\n getUrl = (\n crmContextIdentifier: ICrmContextIdentifier,\n metaClass?: string,\n id?: string,\n history?: [string],\n isNew = false\n ): string => {\n const crmContext = CrmContextIdentifierSerializer.serialize(crmContextIdentifier);\n\n if (!metaClass) {\n return `/${crmContext}`;\n }\n\n if (id || isNew) {\n const url = `/${crmContext}/${metaClass}/${isNew ? NEW_RECORD_URL_SEGMENT : id}`;\n if (history) {\n return `${url}/${history.join(',')}`;\n }\n return url;\n }\n\n return `/${crmContext}/${metaClass}`;\n };\n\n matchesCrmContext = (pathToMatch: string, crmContextIdentifier: ICrmContextIdentifier) => {\n const serializedCrmContext = CrmContextIdentifierSerializer.serialize(crmContextIdentifier);\n const result = this.getRoutePathWithOptionalCrmContext();\n const match = matchPath(pathToMatch, { path: result });\n return (match && match.params['crmContext'] === serializedCrmContext) || false;\n };\n\n getParamsSiteMapPathFromUrl = () => {\n const getSiteMapPathRouteMatch = () => {\n return matchPath(location.pathname, {\n path: this.getRoutePathForList(),\n });\n };\n\n const match = getSiteMapPathRouteMatch();\n return match && match.params['siteMapPath'];\n };\n\n isDetailPage = (): boolean => {\n const paramsId = this.getParamsIdFromUrl();\n return !!paramsId;\n };\n\n getParamsIdFromUrl = () => {\n const getDetailRouteMatch = () => {\n return matchPath(location.pathname, {\n path: this.getRoutePathForDetail(),\n });\n };\n\n const match = getDetailRouteMatch();\n return match && match.params['id'];\n };\n\n getParamsHistoryFromUrl = () => {\n const getHistoryRouteMatch = () => {\n return matchPath(location.pathname, {\n path: this.getRoutePathForHistory(),\n });\n };\n\n const match = getHistoryRouteMatch();\n const historyString: string | undefined = match && match.params['history'];\n return (historyString && historyString.split(',')) || [];\n };\n\n private calculateRoute = (...segments: string[]) => '/' + segments.join('/');\n}\n","import { IAuthorizationInformation } from './IAuthorizationInformation';\nimport { IAuthorizationFactory } from './IAuthorizationFactory';\nimport { injectable } from 'inversify';\nimport { IAuthorization } from '@quino/core';\n\n@injectable()\nexport class AuthorizationFactory implements IAuthorizationFactory {\n public fromAuthorizationInformation(\n authInformation: IAuthorizationInformation\n ): IAuthorization {\n return {\n canCreate: () => !!authInformation.allowCreate,\n canRead: () => !!authInformation.allowRead,\n canUpdate: () => !!authInformation.allowUpdate,\n canDelete: () => !!authInformation.allowDelete,\n };\n }\n}\n","import { inject, injectable } from 'inversify';\nimport { SHARED_SERVICE_IDENTIFIER } from '../ioc/sharedIdentifiers';\nimport { IPerformaServer } from '../api';\nimport { IFrontendVersionInfo } from './IFrontendVersionInfo';\nimport { IVersionInfoService } from './IVersionInfoService';\nimport { IVersionInfo } from './IVersionInfo';\n\n@injectable()\nexport class VersionInfoService implements IVersionInfoService {\n constructor(\n @inject(SHARED_SERVICE_IDENTIFIER.IPERFORMASERVER) private performaServer: IPerformaServer,\n @inject(SHARED_SERVICE_IDENTIFIER.IFRONTENDVERSIONINFO)\n private frontendVersionInfo: IFrontendVersionInfo\n ) {}\n\n async getVersionInfoAsync(): Promise {\n const backendVersionInfo = await this.performaServer.getVersionInfoAsync();\n\n return {\n backend: backendVersionInfo,\n frontend: this.frontendVersionInfo,\n };\n }\n}\n","import { IChangePasswordState } from './IChangePasswordState';\nimport { IPerformaI18n } from '../../../../lang/IPerformaI18n';\nimport { inject, injectable } from 'inversify';\nimport { QuinoCoreServiceSymbols } from '@quino/core';\nimport { IChangePasswordStateHelper } from './IChangePasswordStateHelper';\nimport { IProfileService } from '../../../../api/IProfileService';\nimport { SHARED_SERVICE_IDENTIFIER } from '../../../../ioc/sharedIdentifiers';\nimport { IPasswordValidator } from '../../../../authentication/IPasswordValidator';\nimport flow from 'lodash/flow';\n\n@injectable()\nexport class ChangePasswordStateHelper implements IChangePasswordStateHelper {\n constructor(\n @inject(QuinoCoreServiceSymbols.II18N) private i18n: IPerformaI18n,\n @inject(SHARED_SERVICE_IDENTIFIER.IPROFILESERVICE) private profileService: IProfileService,\n @inject(SHARED_SERVICE_IDENTIFIER.IPASSWORDVALIDATOR)\n private passwordValidator: IPasswordValidator\n ) {}\n\n validateAsync = (state: IChangePasswordState): Promise =>\n flow([\n this.resetValidationState,\n this.validatePasswordMatch,\n this.validateOldPasswordPresent,\n this.validateNewPasswordComplexityAsync,\n ])(state);\n\n async submitAsync(state: IChangePasswordState): Promise {\n if (!state.isValid) {\n return { ...state, success: false };\n }\n\n try {\n await this.profileService.changePasswordAsync({\n oldPassword: state.oldPassword,\n newPassword: state.newPassword,\n });\n } catch (e) {\n return {\n ...state,\n success: false,\n generalError: this.i18n.t(\n 'literal.CustomLiterals.ChangePassword.Validation.ServerError'\n ),\n };\n }\n\n return { ...state, success: true };\n }\n\n private resetValidationState = (state: IChangePasswordState): IChangePasswordState => ({\n ...state,\n isValid: true,\n oldPasswordError: undefined,\n newPasswordError: undefined,\n confirmNewPasswordError: undefined,\n generalError: undefined,\n });\n\n private validatePasswordMatch = (state: IChangePasswordState): IChangePasswordState => {\n if (state.newPassword === state.confirmNewPassword) {\n return { ...state };\n }\n\n return {\n ...state,\n confirmNewPasswordError: this.i18n.t(\n 'literal.CustomLiterals.ChangePassword.Validation.Mismatch'\n ),\n isValid: false,\n };\n };\n\n private validateOldPasswordPresent = (state: IChangePasswordState): IChangePasswordState => {\n if (state.oldPassword.length > 0) {\n return { ...state };\n }\n\n return {\n ...state,\n oldPasswordError: this.i18n.t(\n 'literal.CustomLiterals.ChangePassword.Validation.MissingRequiredFields'\n ),\n isValid: false,\n };\n };\n\n private validateNewPasswordComplexityAsync = async (\n state: IChangePasswordState\n ): Promise => {\n const errors = await this.passwordValidator.validateAsync(state.newPassword);\n\n if (errors.length === 0) {\n return { ...state };\n }\n\n return {\n ...state,\n newPasswordError: errors.join(' '),\n isValid: false,\n };\n };\n}\n","import { IPasswordValidatorConfig } from './IPasswordValidatorConfig';\nimport { inject, injectable } from 'inversify';\nimport { SHARED_SERVICE_IDENTIFIER } from '../ioc/sharedIdentifiers';\nimport { IConfigurationService } from '../configuration/IConfigurationService';\n\n@injectable()\nexport class PasswordValidatorConfig implements IPasswordValidatorConfig {\n constructor(\n @inject(SHARED_SERVICE_IDENTIFIER.ICONFIGURATIONSERVICE)\n private configurationService: IConfigurationService\n ) {}\n\n async getMinimumLengthAsync(): Promise {\n return this.configurationService.getNumberValueOrDefaultAsync(\n 'client.PasswordPolicy.MinimumLength',\n 8\n );\n }\n\n async getMaximumLengthAsync(): Promise {\n return this.configurationService.getNumberValueOrDefaultAsync(\n 'client.PasswordPolicy.MaximumLength',\n 100\n );\n }\n\n async getAllowedSpecialCharactersAsync(): Promise {\n const valueString = await this.configurationService.getStringValueOrDefaultAsync(\n 'client.PasswordPolicy.AllowedSpecialCharacters',\n ',;.:-_+*!?(){}[]&%\"@$£§/<>'\n );\n return valueString.split('');\n }\n\n async needsUppercaseCharacterAsync(): Promise {\n return this.configurationService.getBooleanValueOrDefaultAsync(\n 'client.PasswordPolicy.NeedsUpperCaseCharacter',\n true\n );\n }\n\n async needsLowercaseCharacterAsync(): Promise {\n return this.configurationService.getBooleanValueOrDefaultAsync(\n 'client.PasswordPolicy.NeedsLowerCaseCharacter',\n true\n );\n }\n\n async needsNumberCharacterAsync(): Promise {\n return this.configurationService.getBooleanValueOrDefaultAsync(\n 'client.PasswordPolicy.NeedsNumberCharacters',\n true\n );\n }\n\n async needsSpecialCharacterAsync(): Promise {\n return this.configurationService.getBooleanValueOrDefaultAsync(\n 'client.PasswordPolicy.NeedsSpecialCharacters',\n false\n );\n }\n}\n","import { IPasswordPolicy } from './IPasswordPolicy';\nimport { inject, injectable } from 'inversify';\nimport { SHARED_SERVICE_IDENTIFIER } from '../../ioc/sharedIdentifiers';\nimport { IPasswordValidatorConfig } from '../IPasswordValidatorConfig';\nimport { QuinoCoreServiceSymbols } from '@quino/core';\nimport { IPerformaI18n } from '../../lang/IPerformaI18n';\n\n@injectable()\nexport class MinimumLengthPolicy implements IPasswordPolicy {\n constructor(\n @inject(SHARED_SERVICE_IDENTIFIER.IPASSWORDVALIDATORCONFIG)\n private config: IPasswordValidatorConfig,\n @inject(QuinoCoreServiceSymbols.II18N) private i18n: IPerformaI18n\n ) {}\n\n async applyAsync(password: string): Promise {\n const minimumLength = await this.config.getMinimumLengthAsync();\n if (password.length < minimumLength) {\n return [\n this.i18n.t('literal.CustomLiterals.PasswordPolicy.Errors.BelowMinimumLength', {\n amount: minimumLength,\n }),\n ];\n }\n return [];\n }\n}\n","import { IPasswordPolicy } from './IPasswordPolicy';\nimport { inject, injectable } from 'inversify';\nimport { SHARED_SERVICE_IDENTIFIER } from '../../ioc/sharedIdentifiers';\nimport { IPasswordValidatorConfig } from '../IPasswordValidatorConfig';\nimport { QuinoCoreServiceSymbols } from '@quino/core';\nimport { IPerformaI18n } from '../../lang/IPerformaI18n';\n\n@injectable()\nexport class MaximumLengthPolicy implements IPasswordPolicy {\n constructor(\n @inject(SHARED_SERVICE_IDENTIFIER.IPASSWORDVALIDATORCONFIG)\n private config: IPasswordValidatorConfig,\n @inject(QuinoCoreServiceSymbols.II18N) private i18n: IPerformaI18n\n ) {}\n\n async applyAsync(password: string): Promise {\n const maximumLength = await this.config.getMaximumLengthAsync();\n if (password.length > maximumLength) {\n return [\n this.i18n.t('literal.CustomLiterals.PasswordPolicy.Errors.AboveMaximumLength', {\n amount: maximumLength,\n }),\n ];\n }\n return [];\n }\n}\n","import { IPasswordPolicy } from './IPasswordPolicy';\nimport { inject, injectable } from 'inversify';\nimport { SHARED_SERVICE_IDENTIFIER } from '../../ioc/sharedIdentifiers';\nimport { IPasswordValidatorConfig } from '../IPasswordValidatorConfig';\nimport { QuinoCoreServiceSymbols } from '@quino/core';\nimport { IPerformaI18n } from '../../lang/IPerformaI18n';\n\n@injectable()\nexport class LowercaseCharacterPolicy implements IPasswordPolicy {\n constructor(\n @inject(SHARED_SERVICE_IDENTIFIER.IPASSWORDVALIDATORCONFIG)\n private config: IPasswordValidatorConfig,\n @inject(QuinoCoreServiceSymbols.II18N) private i18n: IPerformaI18n\n ) {}\n\n async applyAsync(password: string): Promise {\n if ((await this.config.needsLowercaseCharacterAsync()) && password.search(/[a-z]/) === -1) {\n return [\n this.i18n.t(\n 'literal.CustomLiterals.PasswordPolicy.Errors.MissingLowercaseCharacter'\n ),\n ];\n }\n return [];\n }\n}\n","import { IPasswordPolicy } from './IPasswordPolicy';\nimport { inject, injectable } from 'inversify';\nimport { SHARED_SERVICE_IDENTIFIER } from '../../ioc/sharedIdentifiers';\nimport { IPasswordValidatorConfig } from '../IPasswordValidatorConfig';\nimport { QuinoCoreServiceSymbols } from '@quino/core';\nimport { IPerformaI18n } from '../../lang/IPerformaI18n';\n\n@injectable()\nexport class UppercaseCharacterPolicy implements IPasswordPolicy {\n constructor(\n @inject(SHARED_SERVICE_IDENTIFIER.IPASSWORDVALIDATORCONFIG)\n private config: IPasswordValidatorConfig,\n @inject(QuinoCoreServiceSymbols.II18N) private i18n: IPerformaI18n\n ) {}\n\n async applyAsync(password: string): Promise {\n if ((await this.config.needsUppercaseCharacterAsync()) && password.search(/[A-Z]/) === -1) {\n return [\n this.i18n.t(\n 'literal.CustomLiterals.PasswordPolicy.Errors.MissingUppercaseCharacter',\n {},\n 'Das Passwort muss mindestens einen Grossbuchstaben enthalten.'\n ),\n ];\n }\n return [];\n }\n}\n","import { IPasswordPolicy } from './IPasswordPolicy';\nimport { inject, injectable } from 'inversify';\nimport { SHARED_SERVICE_IDENTIFIER } from '../../ioc/sharedIdentifiers';\nimport { IPasswordValidatorConfig } from '../IPasswordValidatorConfig';\nimport { QuinoCoreServiceSymbols } from '@quino/core';\nimport { IPerformaI18n } from '../../lang';\n\n@injectable()\nexport class NumberPresencePolicy implements IPasswordPolicy {\n constructor(\n @inject(SHARED_SERVICE_IDENTIFIER.IPASSWORDVALIDATORCONFIG)\n private config: IPasswordValidatorConfig,\n @inject(QuinoCoreServiceSymbols.II18N) private i18n: IPerformaI18n\n ) {}\n\n async applyAsync(password: string): Promise {\n if ((await this.config.needsNumberCharacterAsync()) && password.search(/\\d/) === -1) {\n return [\n this.i18n.t(\n 'literal.CustomLiterals.PasswordPolicy.Errors.MissingNumberCharacter',\n {}\n ),\n ];\n }\n return [];\n }\n}\n","import { IPasswordPolicy } from './IPasswordPolicy';\nimport { inject, injectable } from 'inversify';\nimport { SHARED_SERVICE_IDENTIFIER } from '../../ioc/sharedIdentifiers';\nimport { IPasswordValidatorConfig } from '../IPasswordValidatorConfig';\nimport { QuinoCoreServiceSymbols } from '@quino/core';\nimport { IPerformaI18n } from '../../lang';\n\n@injectable()\nexport class SpecialCharacterPolicy implements IPasswordPolicy {\n constructor(\n @inject(SHARED_SERVICE_IDENTIFIER.IPASSWORDVALIDATORCONFIG)\n private config: IPasswordValidatorConfig,\n @inject(QuinoCoreServiceSymbols.II18N) private i18n: IPerformaI18n\n ) {}\n\n async applyAsync(password: string): Promise {\n if (\n (await this.doesNotNeedSpecialCharsAsync()) ||\n (await this.hasSpecialCharAsync(password))\n ) {\n return [];\n }\n\n const specialChars = await this.getSpecialCharsAsync();\n\n return [\n this.i18n.t('literal.CustomLiterals.PasswordPolicy.Errors.MissingSpecialCharacter', {\n allowedSpecialChars: specialChars.join(''),\n }),\n ];\n }\n\n private async doesNotNeedSpecialCharsAsync() {\n return !(await this.config.needsSpecialCharacterAsync());\n }\n\n private async hasSpecialCharAsync(password: string) {\n const specialChars = await this.getSpecialCharsAsync();\n return specialChars.some((specialChar: string) => {\n return password.indexOf(specialChar) > -1;\n });\n }\n\n private async getSpecialCharsAsync() {\n return await this.config.getAllowedSpecialCharactersAsync();\n }\n}\n","import { IPasswordValidator } from './IPasswordValidator';\nimport { SHARED_SERVICE_IDENTIFIER } from '../ioc/sharedIdentifiers';\nimport { injectable, multiInject } from 'inversify';\nimport { IPasswordPolicy } from './PasswordPolicy/IPasswordPolicy';\n\n@injectable()\nexport class PasswordValidator implements IPasswordValidator {\n constructor(\n @multiInject(SHARED_SERVICE_IDENTIFIER.IPASSWORDPOLICY)\n private passwordPolicies: IPasswordPolicy[]\n ) {}\n\n async validateAsync(password: string): Promise {\n const appliedPolicies = this.passwordPolicies.map((policy) => policy.applyAsync(password));\n\n return (await Promise.all(appliedPolicies)).reduce((a, b) => a.concat(b));\n }\n}\n","import { inject, injectable } from 'inversify';\nimport { IPerformaI18n } from '../../lang/IPerformaI18n';\nimport flow from 'lodash/flow';\nimport { QuinoCoreServiceSymbols } from '@quino/core';\nimport { SHARED_SERVICE_IDENTIFIER } from '../../ioc/sharedIdentifiers';\nimport { IPasswordValidator } from '../../authentication/IPasswordValidator';\nimport { IProfileFormState } from './IProfileFormState';\nimport { IProfileFormStateHelper } from './IProfileFormStateHelper';\nimport { ICompanyBranchFormState } from './ICompanyBranchFormState';\n\n@injectable()\nexport class ProfileFormStateHelper implements IProfileFormStateHelper {\n constructor(\n @inject(QuinoCoreServiceSymbols.II18N) private i18n: IPerformaI18n,\n @inject(SHARED_SERVICE_IDENTIFIER.IPASSWORDVALIDATOR)\n private passwordValidator: IPasswordValidator\n ) {}\n\n validateProfileForm = async (state: IProfileFormState): Promise =>\n await flow([\n this.resetValidationState,\n this.validateFirstNameExists,\n this.validateLastNameExists,\n this.validateEmailAddressExists,\n this.validateEmailAddressIsValidFormat,\n this.validateLanguageCodePresent,\n this.validatePasswordPresent,\n this.validatePasswordMatch,\n this.validatePasswordComplexityAsync,\n ])(state);\n\n validateCompanyBranchFormAsync = async (\n state: ICompanyBranchFormState\n ): Promise =>\n await flow([\n this.resetValidationState,\n this.validateFirstNameExists,\n this.validateLastNameExists,\n this.validateEmailAddressExists,\n this.validateEmailAddressIsValidFormat,\n this.validateCompanyExists,\n this.validateAddressExists,\n this.validateBranchExists,\n this.validateLanguageCodePresent,\n ])(state);\n\n private resetValidationState = (state: IProfileFormState): IProfileFormState => ({\n ...state,\n isValid: true,\n firstNameError: undefined,\n lastNameError: undefined,\n emailAddressError: undefined,\n languageCodeError: undefined,\n passwordError: undefined,\n passwordConfirmationError: undefined,\n errorMessage: undefined,\n });\n\n private validateFirstNameExists = (state: IProfileFormState): IProfileFormState => {\n if (state.firstName && state.firstName.length > 0) {\n return { ...state };\n }\n\n return {\n ...state,\n firstNameError: this.i18n.t(\n 'literal.CustomLiterals.ProfileForm.Validation.MissingFirstName'\n ),\n isValid: false,\n };\n };\n\n private validateLastNameExists = (state: IProfileFormState): IProfileFormState => {\n if (state.lastName && state.lastName.length > 0) {\n return { ...state };\n }\n\n return {\n ...state,\n lastNameError: this.i18n.t(\n 'literal.CustomLiterals.ProfileForm.Validation.MissingLastName'\n ),\n isValid: false,\n };\n };\n\n private validateEmailAddressExists = (state: IProfileFormState): IProfileFormState => {\n if (state.emailAddress && state.emailAddress.length > 0) {\n return { ...state };\n }\n\n return {\n ...state,\n emailAddressError: this.i18n.t(\n 'literal.CustomLiterals.ProfileForm.Validation.MissingEmailAddress'\n ),\n\n isValid: false,\n };\n };\n\n private validateEmailAddressIsValidFormat = (state: IProfileFormState): IProfileFormState => {\n if (!state.emailAddress || state.emailAddressError) {\n return { ...state };\n }\n\n // NOTE: Taken from https://stackoverflow.com/questions/46155/how-to-validate-an-email-address-in-javascript#46181\n const regexEmailFormat = /^(([^<>()[\\]\\\\.,;:\\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,}))$/;\n if (regexEmailFormat.test(state.emailAddress)) {\n return { ...state };\n }\n\n return {\n ...state,\n emailAddressError: this.i18n.t(\n 'literal.CustomLiterals.ProfileForm.Validation.InvalidEmailAddressFormat'\n ),\n\n isValid: false,\n };\n };\n\n private validateLanguageCodePresent = (state: IProfileFormState): IProfileFormState => {\n if (state.languageCode && state.languageCode.length > 0) {\n return { ...state };\n }\n\n return {\n ...state,\n languageCodeError: this.i18n.t(\n 'literal.CustomLiterals.ProfileForm.Validation.MissingLanguage'\n ),\n isValid: false,\n };\n };\n\n private validatePasswordMatch = (state: IProfileFormState): IProfileFormState => {\n if (!state.allowSetPassword || state.passwordError) {\n return { ...state };\n }\n\n if (state.password === state.passwordConfirmation) {\n return { ...state };\n }\n\n return {\n ...state,\n passwordConfirmationError: this.i18n.t(\n 'literal.CustomLiterals.ChangePassword.Validation.Mismatch'\n ),\n\n isValid: false,\n };\n };\n\n private validatePasswordPresent = (state: IProfileFormState): IProfileFormState => {\n if (!state.allowSetPassword) {\n return { ...state };\n }\n\n if (state.password.length > 0) {\n return { ...state };\n }\n\n return {\n ...state,\n passwordError: this.i18n.t(\n 'literal.CustomLiterals.ChangePassword.Validation.MissingRequiredFields'\n ),\n\n isValid: false,\n };\n };\n\n private validatePasswordComplexityAsync = async (\n state: IProfileFormState\n ): Promise => {\n if (!state.allowSetPassword || state.passwordError) {\n return { ...state };\n }\n\n const errors = await this.passwordValidator.validateAsync(state.password);\n\n if (errors.length === 0) {\n return { ...state };\n }\n\n return {\n ...state,\n passwordError: errors.join(' '),\n isValid: false,\n };\n };\n\n private validateBranchExists = (state: ICompanyBranchFormState): ICompanyBranchFormState => {\n if (state.branch && state.branch.length > 0) {\n return { ...state };\n }\n\n return {\n ...state,\n branchError: this.i18n.t('literal.CustomLiterals.ProfileForm.Validation.MissingBranch'),\n isValid: false,\n };\n };\n\n private validateCompanyExists = (state: ICompanyBranchFormState): ICompanyBranchFormState => {\n if (state.company && state.company.length > 0) {\n return { ...state };\n }\n\n return {\n ...state,\n companyError: this.i18n.t(\n 'literal.CustomLiterals.ProfileForm.Validation.MissingCompany'\n ),\n isValid: false,\n };\n };\n\n private validateAddressExists = (state: ICompanyBranchFormState): ICompanyBranchFormState => {\n if (state.address && state.address.length > 0) {\n return { ...state };\n }\n\n return {\n ...state,\n addressError: this.i18n.t(\n 'literal.CustomLiterals.ProfileForm.Validation.MissingAddress'\n ),\n isValid: false,\n };\n };\n}\n","import {\n II18n,\n IMetadataTree,\n IMetaLayout,\n LayoutType,\n QuinoCoreServiceSymbols,\n} from '@quino/core';\nimport { ILayoutLoader } from './ILayoutLoader';\nimport { inject, injectable } from 'inversify';\n\n@injectable()\nexport class LayoutLoader implements ILayoutLoader {\n public static readonly LIST_LAYOUT = LayoutType.List;\n public static readonly DETAIL_LAYOUT = LayoutType.Detail;\n\n private layoutCache: { [key: string]: IMetaLayout[] } = {};\n\n constructor(\n @inject(QuinoCoreServiceSymbols.II18N) i18n: II18n,\n @inject(QuinoCoreServiceSymbols.IMetadataTree) private metaDataTree: IMetadataTree\n ) {\n i18n.addUpdateListener(() => this.clearCache());\n }\n\n getLayouts(entityName: string, ofLayoutType: LayoutType): IMetaLayout[] {\n try {\n if (!this.layoutCache[entityName]) {\n this.layoutCache[entityName] = this.metaDataTree.getLayouts(entityName);\n }\n\n const entityElement = this.layoutCache[entityName];\n return (entityElement || []).filter(({ type }: IMetaLayout) => type === ofLayoutType);\n } catch {\n delete this.layoutCache[entityName];\n return [];\n }\n }\n\n private clearCache() {\n this.layoutCache = {};\n }\n}\n","import { getAspectOrDefault, IGenericObject, IMetaLayout } from '@quino/core';\nimport { ILayoutCatalogManager } from './ILayoutCatalogManager';\nimport { inject, injectable } from 'inversify';\nimport { ILayoutLoader } from '../../data/ILayoutLoader';\nimport { SHARED_SERVICE_IDENTIFIER } from '../../ioc/sharedIdentifiers';\nimport { LayoutLoader } from '../../data/LayoutLoader';\nimport { DefaultLayoutMarkerAspectIdentifier } from '../../meta/aspects/IDefaultLayoutMarkerAspect';\nimport { IConfigurationService } from '../../configuration/IConfigurationService';\n\n@injectable()\nexport class LayoutCatalogManager implements ILayoutCatalogManager {\n constructor(\n @inject(SHARED_SERVICE_IDENTIFIER.ILAYOUTLOADER) private layoutLoader: ILayoutLoader,\n @inject(SHARED_SERVICE_IDENTIFIER.ICONFIGURATIONSERVICE)\n private configurationService: IConfigurationService\n ) {}\n\n public getLayoutsAsync = async (entityName: string) => {\n const listLayoutRequest = this.layoutLoader.getLayouts(\n entityName,\n LayoutLoader.LIST_LAYOUT\n );\n\n const formLayoutRequest = this.layoutLoader.getLayouts(\n entityName,\n LayoutLoader.DETAIL_LAYOUT\n );\n\n const [listLayouts, formLayouts] = await Promise.all([\n listLayoutRequest,\n formLayoutRequest,\n ]);\n\n return {\n listLayouts,\n formLayouts,\n drillDownEnabled: formLayouts && formLayouts.length > 0,\n };\n };\n\n public getDefaultLayout(layouts: IMetaLayout[], defaultName?: string): IMetaLayout {\n const layoutByDefaultName =\n defaultName && layouts.find((layout) => layout.name === defaultName);\n const layoutByDefaultLayoutMarkerAspect = layouts.find(\n (layout) => getAspectOrDefault(layout, DefaultLayoutMarkerAspectIdentifier) !== null\n );\n return layoutByDefaultName || layoutByDefaultLayoutMarkerAspect || layouts[0];\n }\n\n public async getLayoutForObject(\n object: IGenericObject,\n layouts: IMetaLayout[],\n defaultName?: string\n ): Promise {\n const formSelectionFieldName = await this.configurationService.getStringValueAsync(\n 'client.Forms.FormSelectionFieldName'\n );\n\n const layoutName = formSelectionFieldName && object[formSelectionFieldName];\n\n const layout = layouts.find((layout) => layout.name === layoutName);\n\n return layout || this.getDefaultLayout(layouts, defaultName);\n }\n}\n","import { IMetaAspect } from '@quino/core';\n\n/**\n * The identifier for retrieving a default layout marker aspect.\n */\nexport const DefaultLayoutMarkerAspectIdentifier = 'DefaultElement';\n\n/**\n * Default layout marker aspects\n */\nexport interface IDefaultLayoutMarkerAspect extends IMetaAspect {}\n","export enum FieldDescriptionVisibility {\n Always = 'Always',\n OnHover = 'OnHover',\n Never = 'Never',\n}\n\nexport interface IProfileFormState {\n inProgress: boolean;\n errorMessage?: string;\n allowSetPassword: boolean;\n isValid: boolean;\n isEdited: boolean;\n firstName: string;\n firstNameError?: string;\n lastName: string;\n lastNameError?: string;\n emailAddress: string;\n emailAddressError?: string;\n showFieldDescriptions: FieldDescriptionVisibility;\n languageCode: string;\n languageCodeError?: string;\n password: string;\n passwordError?: string;\n passwordConfirmation: string;\n passwordConfirmationError?: string;\n}\n","import { IUserProfileDTO } from './DTOs/IUserProfileDTO';\nimport { injectable } from 'inversify';\nimport { ICurrentUserProfileCache } from './ICurrentUserProfileCache';\n\n/**\n * Default in-memory cache implementation of {@link ICurrentUserProfileCache}.\n * @implements ICurrentUserProfileCache\n */\n@injectable()\nexport class CurrentUserProfileCache implements ICurrentUserProfileCache {\n private cachedPromise: Promise | undefined;\n\n /** @inheritdoc */\n clear(): void {\n this.cachedPromise = undefined;\n }\n\n /** @inheritdoc */\n getAsync(): Promise | undefined {\n return this.cachedPromise;\n }\n\n /** @inheritdoc */\n populate(currentUserProfilePromise: Promise): void {\n this.cachedPromise = currentUserProfilePromise;\n }\n}\n","import { HelpTextVisibility, IHelpTextVisibilityStrategy } from '@quino/ui';\nimport { inject, injectable } from 'inversify';\nimport { FieldDescriptionVisibility } from '../Components/Profile/IProfileFormState';\nimport { SHARED_SERVICE_IDENTIFIER } from '../ioc/sharedIdentifiers';\nimport { IProfileService } from '../api/IProfileService';\nimport { IUserProfileDTO } from '../api/DTOs/IUserProfileDTO';\nimport { IMetaProperty } from '@quino/core';\n\n@injectable()\nexport class ProfileHelpTextVisibilityStrategy implements IHelpTextVisibilityStrategy {\n constructor(\n @inject(SHARED_SERVICE_IDENTIFIER.IPROFILESERVICE) private profileService: IProfileService\n ) {}\n\n async getHelpTextVisibilityAsync(layoutElement?: IMetaProperty): Promise {\n const userProfileDto = await this.profileService.getProfileInformationAsync();\n\n return ProfileHelpTextVisibilityStrategy.convertUserSettingToHelpTextVisibility(\n userProfileDto\n );\n }\n\n private static convertUserSettingToHelpTextVisibility(\n userProfileDto: IUserProfileDTO\n ): HelpTextVisibility {\n switch (userProfileDto.showFieldDescriptions) {\n case FieldDescriptionVisibility.Always:\n return HelpTextVisibility.Always;\n case FieldDescriptionVisibility.OnHover:\n return HelpTextVisibility.OnHover;\n case FieldDescriptionVisibility.Never:\n return HelpTextVisibility.Never;\n }\n }\n}\n","export enum EntityActionEmphasis {\n Disabled = '#',\n Low = '-',\n Medium = '~',\n High = '+',\n Enabled = '!',\n}\n","import { inject, injectable } from 'inversify';\nimport { IGenericObject } from '@quino/core';\nimport { SHARED_SERVICE_IDENTIFIER } from '../ioc/sharedIdentifiers';\nimport { IConfigurationService } from '../configuration';\nimport { ICustomActionNamesReader } from './ICustomActionNamesReader';\n\n@injectable()\nexport class CustomActionNamesReader implements ICustomActionNamesReader {\n constructor(\n @inject(SHARED_SERVICE_IDENTIFIER.ICONFIGURATIONSERVICE)\n private configurationService: IConfigurationService\n ) {}\n\n readAsync = async (dataObject: IGenericObject): Promise => {\n const fieldName = await this.getCustomActionsFieldNameAsync();\n\n if (!fieldName || fieldName === '') {\n return undefined;\n }\n\n if (!dataObject.hasOwnProperty(fieldName)) {\n return undefined;\n }\n\n return dataObject[fieldName];\n };\n\n private async getCustomActionsFieldNameAsync(): Promise {\n const config = await this.configurationService.getConfigurationAsync();\n return config.getStringValue('client.Forms.CustomActionsFieldName');\n }\n}\n","import { EntityActionEmphasis } from './EntityActionEmphasis';\n\nexport class EntityActionStyleHelper {\n static extractStyleChars = (entityName: string) => {\n const regExp = /[+\\-#!]*$/;\n const match = regExp.exec(entityName);\n return match![0];\n };\n\n public static removeStyle = (entityName: string): string => {\n const styleChars = EntityActionStyleHelper.extractStyleChars(entityName);\n return entityName.substring(0, entityName.length - styleChars.length);\n };\n\n public static extractStyle = (entityName: string): EntityActionEmphasis[] => {\n const styleChars = EntityActionStyleHelper.extractStyleChars(entityName);\n\n const entityActionEmphasis: EntityActionEmphasis[] = [];\n\n for (let i = 0; i < styleChars.length; i++) {\n const style = styleChars.charAt(i);\n entityActionEmphasis.push(style as EntityActionEmphasis);\n }\n\n if (\n entityActionEmphasis.length === 0 ||\n (entityActionEmphasis.length === 1 &&\n [EntityActionEmphasis.Disabled, EntityActionEmphasis.Enabled].includes(\n entityActionEmphasis[0]\n ))\n ) {\n entityActionEmphasis.push(EntityActionEmphasis.Medium);\n }\n\n return entityActionEmphasis;\n };\n}\n","import { inject, injectable } from 'inversify';\nimport { ICustomAction } from './ICustomAction';\nimport { ICustomActionParser } from './ICustomActionParser';\nimport { II18n, QuinoCoreServiceSymbols } from '@quino/core';\nimport { EntityActionStyleHelper } from '../meta/EntityAction/EntityActionStyleHelper';\n\n/**\n * Parse custom actions form a string. The custom action names are\n * expected to by semi-colon separated.\n */\n@injectable()\nexport class CustomActionParser implements ICustomActionParser {\n constructor(@inject(QuinoCoreServiceSymbols.II18N) private i18n: II18n) {}\n\n /**\n * Parse custom actions from @param input. The custom action names are\n * expected to be a semi-colon separated list.\n * @param input\n */\n parse = (input: string): ICustomAction[] =>\n input\n .split(';')\n .map(this.trimActionName)\n .filter((customActionName) => customActionName !== '')\n .map(this.createCustomAction);\n\n private trimActionName = (customActionName: string): string => customActionName.trim();\n\n private createCustomAction = (customActionNameWithStyle: string): ICustomAction => {\n const name = EntityActionStyleHelper.removeStyle(customActionNameWithStyle);\n const caption = this.translateCaption(name);\n const style = EntityActionStyleHelper.extractStyle(customActionNameWithStyle);\n const disabled = false;\n\n return { name, caption, disabled, style };\n };\n\n private translateCaption = (customActionName: string) => {\n return this.i18n.t(`literal.CustomLiterals.CustomAction.${customActionName}`);\n };\n}\n","import { IGenericObject } from '@quino/core';\nimport { inject, injectable } from 'inversify';\nimport { SHARED_SERVICE_IDENTIFIER } from '../ioc/sharedIdentifiers';\nimport { ICustomAction, ICustomActionNamesReader, ICustomActionParser } from '.';\nimport { IEntityActionsExtractor } from './IEntityActionsExtractor';\n\n/**\n * Default implementation of @see IEntityActionsExtractor.\n */\n@injectable()\nexport class EntityActionsExtractor implements IEntityActionsExtractor {\n constructor(\n @inject(SHARED_SERVICE_IDENTIFIER.ICUSTOMACTIONNAMESREADER)\n private customActionNamesReader: ICustomActionNamesReader,\n @inject(SHARED_SERVICE_IDENTIFIER.ICUSTOMACTIONPARSER)\n private customActionParser: ICustomActionParser\n ) {}\n\n /**\n * Gets the IEntityAction[] from the @param dataObj.\n * @param dataObj The data object to get the custom actions for.\n */\n async getEntityActionsAsync(dataObj: IGenericObject): Promise {\n const customActionDefinition = await this.customActionNamesReader.readAsync(dataObj);\n if (!customActionDefinition) {\n return undefined;\n }\n\n const customActions = this.customActionParser.parse(customActionDefinition);\n if (!customActions) {\n return undefined;\n }\n\n return customActions;\n }\n}\n","import { IRequestBuilder, QuinoCoreServiceSymbols } from '@quino/core';\nimport { inject, injectable } from 'inversify';\nimport { SHARED_SERVICE_IDENTIFIER } from '../ioc/sharedIdentifiers';\nimport { IPerformaUrlManager } from './IPerformaUrlManager';\nimport { ICustomActionService } from './ICustomActionService';\n\n/**\n * Default implementation for @see ICustomActionService.\n */\n@injectable()\nexport class CustomActionService implements ICustomActionService {\n constructor(\n @inject(QuinoCoreServiceSymbols.IRequestBuilder) private requestBuilder: IRequestBuilder,\n @inject(SHARED_SERVICE_IDENTIFIER.IPERFORMAURLMANAGER)\n private urlManager: IPerformaUrlManager\n ) {}\n\n /**\n * @inheritDoc\n */\n async executeCustomActionAsync(\n customActionName: string,\n entityName: string,\n primaryKey: string\n ): Promise {\n const url = this.urlManager.getExecuteCustomActionUrl(customActionName);\n await this.requestBuilder\n .create(url, 'post')\n .requiresAuthentication()\n .setJsonPayload({\n EntityName: entityName,\n PrimaryKey: primaryKey,\n })\n .fetch();\n }\n}\n","import { CrmContextIdentifierSerializer } from '../crmContext/CrmContextIdentifierSerializer';\nimport { ICrmContextState } from '../contexts/crmContext';\nimport { IContextRouteChecker } from './IContextRouteChecker';\nimport { injectable } from 'inversify';\n\n@injectable()\nexport class ContextRouteChecker implements IContextRouteChecker {\n async changeCrmContextIfNecessaryAsync(\n crmContextState: ICrmContextState,\n serializedCrmContext: string = ''\n ) {\n const urlCrmContextIdentifier = CrmContextIdentifierSerializer.deserialize(\n serializedCrmContext\n );\n if (!urlCrmContextIdentifier) {\n return;\n }\n\n if (\n crmContextState.activeCrmContext &&\n urlCrmContextIdentifier.id === crmContextState.activeCrmContext.context.id\n ) {\n return;\n }\n\n const urlCrmContext = crmContextState.availableCrmContexts.find(\n (c) => c.context.id === urlCrmContextIdentifier.id\n );\n\n if (urlCrmContext) {\n crmContextState.trySetActiveCrmContextAsync(urlCrmContext);\n }\n }\n}\n","import { inject, injectable } from 'inversify';\nimport { SHARED_SERVICE_IDENTIFIER } from '../ioc/sharedIdentifiers';\nimport { IPerformaServer } from '../api';\nimport { IConfigurationLoader } from './IConfigurationLoader';\nimport { TConfigurationDTO } from './types';\n\n@injectable()\nexport class ConfigurationLoader implements IConfigurationLoader {\n private configurationRequest?: Promise;\n\n constructor(\n @inject(SHARED_SERVICE_IDENTIFIER.IPERFORMASERVER) private performaServer: IPerformaServer\n ) {}\n\n async loadConfigurationMapAsync(): Promise {\n try {\n if (!this.configurationRequest) {\n this.configurationRequest = this.performaServer.getConfigurationAsync();\n }\n return await this.configurationRequest;\n } catch (e) {\n return {};\n }\n }\n}\n","import { ILayoutNameResolver } from './ILayoutNameResolver';\nimport { IDataService, QuinoCoreServiceSymbols } from '@quino/core';\nimport { IConfigurationService } from '../configuration';\nimport { inject, injectable } from 'inversify';\nimport { SHARED_SERVICE_IDENTIFIER } from '../ioc/sharedIdentifiers';\n\n@injectable()\nexport class LayoutNameResolver implements ILayoutNameResolver {\n private layoutNameCache: Map>;\n\n constructor(\n @inject(SHARED_SERVICE_IDENTIFIER.ICONFIGURATIONSERVICE)\n private configService: IConfigurationService,\n @inject(QuinoCoreServiceSymbols.IDataService) private dataService: IDataService\n ) {\n this.layoutNameCache = new Map();\n }\n\n getDetailLayoutNameAsync(\n entityName: string,\n primaryKey: string | null,\n fallbackLayoutName: string\n ): Promise {\n const cacheKey = `${entityName}/${primaryKey}/${fallbackLayoutName}`;\n if (!this.layoutNameCache.has(cacheKey)) {\n const layoutNameRequest = this.getDetailLayoutNameRequest(\n entityName,\n primaryKey,\n fallbackLayoutName\n );\n this.layoutNameCache.set(cacheKey, layoutNameRequest);\n }\n\n return this.layoutNameCache.get(cacheKey) as Promise;\n }\n\n clearCache(): void {\n this.layoutNameCache.clear();\n }\n\n async getDetailLayoutNameRequest(\n entityName: string,\n primaryKey: string | null,\n fallbackLayoutName: string\n ): Promise {\n const layoutFieldName = await this.getLayoutFieldName();\n if (!layoutFieldName) {\n return fallbackLayoutName;\n }\n\n const layouts = await this.getObjectAsync(entityName, primaryKey);\n\n return layouts[layoutFieldName] || fallbackLayoutName;\n }\n\n private async getLayoutFieldName() {\n return await this.configService.getStringValueAsync('client.Forms.FormSelectionFieldName');\n }\n\n private async getObjectAsync(entityName: string, primaryKey: string | null): Promise<{}> {\n return await this.dataService.getObjectAsync<{}>(entityName, primaryKey, null);\n }\n}\n","import { IDataEntryStatusDTO } from './DTOs/IDataEntryStatusDTO';\nimport { IDataEntryStatusService } from './IDataEntryStatusService';\nimport { inject, injectable } from 'inversify';\nimport { IPerformaUrlManager } from './IPerformaUrlManager';\nimport { IRequestBuilder, QuinoCoreServiceSymbols } from '@quino/core';\nimport { SHARED_SERVICE_IDENTIFIER } from '../ioc/sharedIdentifiers';\n\n@injectable()\nexport class DataEntryStatusService implements IDataEntryStatusService {\n constructor(\n @inject(SHARED_SERVICE_IDENTIFIER.IPERFORMAURLMANAGER)\n private urlManager: IPerformaUrlManager,\n @inject(QuinoCoreServiceSymbols.IRequestBuilder) private requestBuilder: IRequestBuilder\n ) {}\n\n async getDataEntryStatusAsync(): Promise {\n const url = this.urlManager.getDataEntryStatusUrl();\n const response = this.requestBuilder\n .create(url, 'get')\n .requiresAuthentication()\n .fetchJson();\n\n return await response;\n }\n}\n","import { inject, injectable } from 'inversify';\nimport { SHARED_SERVICE_IDENTIFIER } from '../ioc/sharedIdentifiers';\nimport { IPerformaUrlManager } from './IPerformaUrlManager';\nimport { IRequestBuilder, QuinoCoreServiceSymbols } from '@quino/core';\nimport { IStorageService } from './IStorageService';\nimport { IFileMetadata } from './DTOs/IFileMetadata';\nimport { IImageFetcher } from './IImageFetcher';\n\n@injectable()\nexport class StorageService implements IStorageService {\n constructor(\n @inject(SHARED_SERVICE_IDENTIFIER.IPERFORMAURLMANAGER)\n private urlManager: IPerformaUrlManager,\n @inject(QuinoCoreServiceSymbols.IRequestBuilder) private requestBuilder: IRequestBuilder,\n @inject(SHARED_SERVICE_IDENTIFIER.IIMAGEFETCHER) private imageFetcher: IImageFetcher\n ) {}\n\n tryLoadPersistentStorageObjectUrlAsync(id: string): Promise {\n const url = this.urlManager.getPersistentStorageDownloadUrl(id);\n return this.imageFetcher.tryLoadObjectUrl(url);\n }\n\n async deletePersistentStorageAsync(id: string): Promise {\n const url = this.urlManager.deletePersistentStorageUrl(id);\n return await this.requestBuilder\n .create(url, 'delete')\n .requiresAuthentication()\n .fetch();\n }\n\n async getStorageMetadataAsync(byId: string): Promise {\n const url = this.urlManager.getStorageMetadataUrl(byId);\n return await this.requestBuilder\n .create(url, 'get')\n .requiresAuthentication()\n .fetchJson();\n }\n\n async findStorageMetadataAsync(\n ownerKey: string,\n ownerValue: string,\n entityKey: string,\n entityValue: string\n ): Promise {\n const url = this.urlManager.findStorageMetadataUrl(\n ownerKey,\n ownerValue,\n entityKey,\n entityValue\n );\n return await this.requestBuilder\n .create(url, 'get')\n .requiresAuthentication()\n .fetchJson();\n }\n\n async setCustomAttributesToStorageMetadata(\n id: string,\n customMetadata: { [key: string]: string }\n ): Promise {\n const url = this.urlManager.setCustomAttributesToStorageMetadataUrl(id);\n return await this.requestBuilder\n .create(url, 'post')\n .requiresAuthentication()\n .setJsonPayload(customMetadata)\n .fetch();\n }\n}\n","import { IConfigurationService } from '../configuration';\nimport { SHARED_SERVICE_IDENTIFIER } from '../ioc/sharedIdentifiers';\nimport { inject, injectable } from 'inversify';\nimport { IPerformaStorage } from './IPerformaStorage';\nimport { IPerformaUrlManager, IStorageService } from '../api';\nimport { IFileMetadata } from '../api/DTOs/IFileMetadata';\n\nconst defaultMimeTypes = ['image/png', 'image/jpg', 'image/jpeg'];\nconst defaultMaxFileSizeInBytes = 1024 * 1024;\n\nconst ownerKey = 'owner';\nconst entityKey = 'entityname';\n\n@injectable()\nexport class PerformaStorage implements IPerformaStorage {\n constructor(\n @inject(SHARED_SERVICE_IDENTIFIER.ICONFIGURATIONSERVICE)\n private configurationService: IConfigurationService,\n @inject(SHARED_SERVICE_IDENTIFIER.IPERFORMAURLMANAGER)\n private urlManager: IPerformaUrlManager,\n @inject(SHARED_SERVICE_IDENTIFIER.ISTORAGESERVICE) private storageService: IStorageService\n ) {}\n\n private cachedStorageMetadata: { [key: string]: Promise } = {};\n\n getUploadUrl(): string {\n return this.urlManager.getPersistentStorageUploadUrl();\n }\n\n async getMaxFileSizeInBytesAsync(): Promise {\n const configuration = await this.configurationService.getConfigurationAsync();\n const maxFileSizeInBytesConfig = configuration.getNumberValue(\n 'client.FileUpload.MaxFileSizeInBytes'\n );\n if (maxFileSizeInBytesConfig) {\n return maxFileSizeInBytesConfig;\n }\n return defaultMaxFileSizeInBytes;\n }\n\n async getAcceptedMimeTypesAsync(): Promise {\n const configuration = await this.configurationService.getConfigurationAsync();\n const acceptedMimeTypesCsvConfig = configuration.getStringValue(\n 'client.FileUpload.AcceptedMimeTypes'\n );\n if (acceptedMimeTypesCsvConfig) {\n return acceptedMimeTypesCsvConfig;\n }\n return defaultMimeTypes.join(';');\n }\n\n async setOwnerAndContextAsync(id: string, entityname: string, owner: string, context: string) {\n this.invalidateCache();\n await this.storageService.setCustomAttributesToStorageMetadata(id, {\n entityname,\n owner,\n context,\n });\n }\n\n async getMetaDataAsync(id: string): Promise {\n return this.storageService.getStorageMetadataAsync(id);\n }\n\n async tryLoadStorageObjectUrlAsync(id: string): Promise {\n return this.storageService.tryLoadPersistentStorageObjectUrlAsync(id);\n }\n\n getStorageMetadataForOwner(entity: string, owner: string): Promise {\n if (owner != 'null') {\n if (this.cachedStorageMetadata[owner] == null) {\n this.cachedStorageMetadata[owner] = this.storageService.findStorageMetadataAsync(\n ownerKey,\n owner,\n entityKey,\n entity\n );\n }\n\n return this.cachedStorageMetadata[owner];\n }\n return new Promise((resolve) => resolve([]));\n }\n\n async deleteStorage(id: string): Promise {\n this.invalidateCache();\n return this.storageService.deletePersistentStorageAsync(id);\n }\n\n private invalidateCache(): void {\n this.cachedStorageMetadata = {};\n }\n}\n","import { IPerformaExceptionDTO } from './DTOs/IPerformaExceptionDTO';\nimport { PerformaBadRequestClientError } from './PerformaBadRequestClientError';\n\nexport class PerformaServerError extends Error {\n constructor(exception: IPerformaExceptionDTO) {\n super();\n this.name = 'PerformaServerError';\n this.message = exception.title;\n }\n}\n\nexport function isPerformaServerError(object: any): object is PerformaServerError {\n return (\n object != null &&\n (object as PerformaBadRequestClientError).name !== undefined &&\n (object as PerformaBadRequestClientError).message !== undefined\n );\n}\n","import { inject, injectable } from 'inversify';\nimport { IPerformaStorage } from './IPerformaStorage';\nimport { SHARED_SERVICE_IDENTIFIER } from '../ioc/sharedIdentifiers';\nimport { IPerformaFileHandler } from './IPerformaFileHandler';\nimport { IFileMetadata } from '../api/DTOs/IFileMetadata';\nimport cloneDeep from 'lodash/cloneDeep';\nimport { isPerformaServerError, PerformaServerError } from '../api/PerformaServerError';\n\ninterface IPerformaFileHandlerState {\n initial: IFileMetadata[];\n new: IFileMetadata[];\n deleted: IFileMetadata[];\n}\n\n@injectable()\nexport class PerformaFileHandler implements IPerformaFileHandler {\n constructor(\n @inject(SHARED_SERVICE_IDENTIFIER.IPERFORMASTORAGE)\n private performaStorage: IPerformaStorage\n ) {}\n\n private files: IPerformaFileHandlerState = { initial: [], new: [], deleted: [] };\n\n async init(entity: string, primaryKey: string, context: string): Promise {\n let fileHandlerInitialMetadata = await this.performaStorage.getStorageMetadataForOwner(\n entity,\n primaryKey\n );\n\n // filter files for context\n fileHandlerInitialMetadata = fileHandlerInitialMetadata.filter(\n (f) => f.customAttributes['context'] && f.customAttributes['context'] === context\n );\n\n this.files = { initial: fileHandlerInitialMetadata, new: [], deleted: [] };\n return this.returnFiles();\n }\n\n async addFile(id: string): Promise {\n const newFileMetadata = await this.performaStorage.getMetaDataAsync(id);\n this.files.new.push(newFileMetadata);\n\n return this.returnFiles();\n }\n\n deleteFile(id: string): IFileMetadata[] {\n const newFileToDelete = this.files.new.find((metadata) => metadata.id === id);\n if (newFileToDelete) {\n // if file is a new file, file can just be removed and deleted\n this.files.new = this.files.new.filter((metadata) => metadata.id !== id);\n this.performaStorage.deleteStorage(id);\n } else {\n const initialFileToDelete = this.files.initial.find((metadata) => metadata.id === id);\n if (initialFileToDelete) {\n // if file is an old file, file should be deleted on commit\n this.files.deleted.push(initialFileToDelete);\n }\n }\n\n return this.returnFiles();\n }\n\n async commitAllFiles(\n entity: string,\n primaryKey: string,\n context?: string\n ): Promise<{ fileMetaData: IFileMetadata[]; errors: PerformaServerError[] }> {\n const errors: PerformaServerError[] = [];\n for (const metadata of this.files.new) {\n try {\n await this.performaStorage.setOwnerAndContextAsync(\n metadata.id,\n entity,\n primaryKey,\n context\n );\n this.files.initial.push(metadata);\n } catch (e) {\n if (isPerformaServerError(e)) {\n errors.push(e);\n }\n }\n }\n\n this.files.new = [];\n\n const deletePromises = this.files.deleted.map((metadata) => {\n this.performaStorage.deleteStorage(metadata.id);\n this.files.initial = this.files.initial.filter(\n (initialMetadata) => initialMetadata.id !== metadata.id\n );\n });\n await Promise.all(deletePromises);\n this.files.deleted = [];\n\n return { fileMetaData: this.returnFiles(), errors: errors };\n }\n\n reset(): IFileMetadata[] {\n const deletePromises = this.files.new.map((metadata) =>\n this.performaStorage.deleteStorage(metadata.id)\n );\n Promise.all(deletePromises);\n\n this.files = { initial: this.files.initial, new: [], deleted: [] };\n return this.returnFiles();\n }\n\n returnFiles(): IFileMetadata[] {\n let currentFiles = this.files.initial.filter(\n (initialMetadata) =>\n !this.files.deleted.some(\n (deletedMetadata) => deletedMetadata.id === initialMetadata.id\n )\n );\n currentFiles = currentFiles.concat(this.files.new);\n\n return cloneDeep(currentFiles);\n }\n}\n","import { IPerformaListState } from '../../Components/DataBrowser/IPerformaListState';\nimport { connect } from 'react-redux';\nimport { TRootReducerState } from '../store';\nimport { bindActionCreators, Dispatch } from 'redux';\nimport { TActionType } from '../types';\n\n// State\n\ntype TState = { [key: string]: IPerformaListState };\n\nexport const initialListStates: TState = {};\n\n// Actions\n\nexport const listStateActions = {\n updateListState: (siteMapPath: string, listState: IPerformaListState) =>\n ({\n type: 'listStates/UPDATE_LIST_STATE',\n siteMapPath,\n listState,\n } as const),\n};\n\ntype TAction = TActionType;\n\n// Reducer\n\nexport const listStatesReducer = (state: TState = initialListStates, action: TAction): TState => {\n switch (action.type) {\n case 'listStates/UPDATE_LIST_STATE':\n const { siteMapPath, listState } = action;\n return {\n ...state,\n [siteMapPath]: {\n ...state[siteMapPath],\n ...listState,\n },\n };\n default:\n return { ...state };\n }\n};\n\n// Connector\n\nconst mapStateToProps = ({ listStates }: TRootReducerState) => ({ listStates });\nconst mapDispatchToProps = (dispatch: Dispatch) => bindActionCreators(listStateActions, dispatch);\n\nexport const connectListStates = connect(\n mapStateToProps,\n mapDispatchToProps\n);\n\nexport type TConnectedListStates = ReturnType &\n ReturnType;\n\n// Selectors\n\nexport const getListStateFor = (siteMapPath?: string) => (state: TRootReducerState) =>\n siteMapPath && state.listStates[siteMapPath];\n","import { TActionType } from '../types';\nimport { TRootReducerState } from '../store';\n\n// State\n\nexport const initialApiState = {\n healthCheckRequested: false,\n serverReachable: true,\n};\n\ntype TState = typeof initialApiState;\n\n// Actions\n\nexport const apiActions = {\n requestHealthCheck: () =>\n ({\n type: 'api/REQUEST_HEALTH_CHECK',\n } as const),\n setServerReachable: (flag: boolean) =>\n ({\n type: 'api/SET_SERVER_REACHABLE',\n flag,\n } as const),\n};\n\ntype TAction = TActionType;\n\n// Reducer\n\nexport const apiReducer = (state: TState = initialApiState, action: TAction): TState => {\n switch (action.type) {\n case 'api/REQUEST_HEALTH_CHECK':\n return {\n ...state,\n healthCheckRequested: true,\n };\n case 'api/SET_SERVER_REACHABLE':\n return {\n ...state,\n healthCheckRequested: false,\n serverReachable: action.flag,\n };\n }\n\n return state;\n};\n\n// Selectors\n\nexport const isServerReachable = (state: TRootReducerState) => state.api.serverReachable;\n\nexport const isHealthCheckRequested = (state: TRootReducerState) => state.api.healthCheckRequested;\n","import { initialListStates, listStatesReducer } from './listStates/store';\nimport { combineReducers, createStore } from 'redux';\nimport { initialSessionState, sessionStateReducer } from '../session/sessionStore';\nimport { apiReducer, initialApiState } from './api/apiStore';\n\nconst initialState = {\n api: initialApiState,\n listStates: initialListStates,\n session: initialSessionState,\n};\n\nexport type TRootReducerState = typeof initialState;\n\nconst reducer = combineReducers({\n api: apiReducer,\n listStates: listStatesReducer,\n session: sessionStateReducer,\n});\n\nconst tryGetDevTools = () => {\n if (typeof window === 'object' && (window as any).__REDUX_DEVTOOLS_EXTENSION_COMPOSE__) {\n return (window as any).__REDUX_DEVTOOLS_EXTENSION__();\n }\n\n return undefined;\n};\n\nexport const performaStore = createStore(reducer, initialState, tryGetDevTools());\n\nexport type TPerformaStore = typeof performaStore;\n","import { inject, injectable } from 'inversify';\nimport {\n IQuinoDataGridConfiguration,\n IQuinoDataGridConfigurationService,\n TSelectionMode,\n} from '@quino/ui';\nimport { IAuthorizationService, IMetaLayout, QuinoCoreServiceSymbols } from '@quino/core';\nimport { SHARED_SERVICE_IDENTIFIER } from '../../ioc/sharedIdentifiers';\nimport { IConfigurationService } from '../../configuration/IConfigurationService';\n\n/**\n * Data grid configuration properties which have a corresponding setting in IConfiguration\n */\ntype TConfigurableProps =\n | 'useExport'\n | 'useGrouping'\n | 'useHeaderFilter'\n | 'useHeaderSearch'\n | 'useMultipleSorting'\n | 'usePaging'\n | 'useSearch'\n | 'useSorting'\n | 'showDelete'\n | 'itemsPerPage';\n\n@injectable()\nexport class PerformaDataGridConfigurationService implements IQuinoDataGridConfigurationService {\n constructor(\n @inject(QuinoCoreServiceSymbols.IAuthorizationService)\n private authorizationService: IAuthorizationService,\n @inject(SHARED_SERVICE_IDENTIFIER.ICONFIGURATIONSERVICE)\n private configurationService: IConfigurationService\n ) {}\n\n getMetaDataGridConfiguration = async (\n layout: IMetaLayout,\n metaClass: string\n ): Promise => {\n const config = await this.configurationService.getConfigurationAsync();\n\n // prettier-ignore\n const configValues: Pick = {\n useExport: config.getBooleanValueOrDefault('client.DataGrid.useExport', true),\n useGrouping: config.getBooleanValueOrDefault('client.DataGrid.useGrouping', true),\n useHeaderFilter: config.getBooleanValueOrDefault('client.DataGrid.useHeaderFilter', true),\n useHeaderSearch: config.getBooleanValueOrDefault('client.DataGrid.useHeaderSearch', false),\n useMultipleSorting: config.getBooleanValueOrDefault('client.DataGrid.useMultipleSorting', true),\n usePaging: config.getBooleanValueOrDefault('client.DataGrid.usePaging', true),\n useSearch: config.getBooleanValueOrDefault('client.DataGrid.useSearch', true),\n useSorting: config.getBooleanValueOrDefault('client.DataGrid.useSorting', true),\n showDelete: config.getBooleanValueOrDefault('client.DataGrid.showDelete', true),\n itemsPerPage: config.getNumberValueOrDefault('client.DataGrid.itemsPerPage', 20),\n };\n\n const showDelete =\n configValues.showDelete &&\n this.authorizationService.getAuthorization(metaClass).canDelete();\n\n const selectionMode: TSelectionMode =\n showDelete || configValues.useExport ? 'Multiple' : 'Single';\n\n return {\n ...configValues,\n selectionMode,\n showDelete,\n useColumnFixing: false,\n drillDownMode: 'All',\n };\n };\n}\n","import { IRouteExtensions } from './IRouteExtensions';\nimport { injectable } from 'inversify';\nimport { RouteProps } from 'react-router';\n\n@injectable()\nexport class NullRouteExtensions implements IRouteExtensions {\n getExtensions(): RouteProps[] {\n return [];\n }\n}\n","import { injectable } from 'inversify';\nimport { ILoginFormExtensionProps, ILoginFormExtensions } from './ILoginFormExtensions';\n\n@injectable()\nexport class NullLoginFormExtension implements ILoginFormExtensions {\n getExtensions(): ILoginFormExtensionProps[] {\n return [];\n }\n}\n","import { ContainerModule, interfaces } from 'inversify';\nimport { ConfigurationService } from '../configuration/ConfigurationService';\nimport { IConfigurationService } from '../configuration/IConfigurationService';\nimport { ICustomActionService } from '../api/ICustomActionService';\nimport { ILocationService } from '../navigation/ILocationService';\nimport { IPerformaServer } from '../api/IPerformaServer';\nimport { IPerformaUrlManager } from '../api/IPerformaUrlManager';\nimport { ISettings } from '../ISettings';\nimport { IStorageService } from '../api/IStorageService';\nimport { LocationService } from '../navigation/LocationService';\nimport { PerformaServer } from '../api/PerformaServer';\nimport { PerformaUrlManager } from '../api/PerformaUrlManager';\nimport { SHARED_SERVICE_IDENTIFIER } from './sharedIdentifiers';\nimport { ISessionPersister } from '../session/ISessionPersister';\nimport { SessionPersister } from '../session/SessionPersister';\nimport { AuthService } from '../authentication/AuthService';\nimport { IPerformaAuthService } from '../authentication/IPerformaAuthService';\nimport { ISessionService } from '../session/ISessionService';\nimport { SessionService } from '../session/SessionService';\nimport { ICrmContextWrapperStateHelper } from '../Components/CrmContext/Wrapper/ICrmContextWrapperStateHelper';\nimport { CrmContextWrapperStateHelper } from '../Components/CrmContext/Wrapper/CrmContextWrapperStateHelper';\nimport { IImageFetcher } from '../api/IImageFetcher';\nimport { ImageFetcher } from '../api/ImageFetcher';\nimport { IPasswordResetStateHelper } from '../Components/Auth/PasswordReset/IPasswordResetStateHelper';\nimport { PasswordResetStateHelper } from '../Components/Auth/PasswordReset/PasswordResetStateHelper';\nimport { IForgotPasswordStateHelper } from '../Components/Auth/ForgotPassword/IForgotPasswordStateHelper';\nimport { ForgotPasswordStateHelper } from '../Components/Auth/ForgotPassword/ForgotPasswordStateHelper';\nimport { IProfileService } from '../api/IProfileService';\nimport { ProfileService } from '../api/ProfileService';\nimport { IRouteHelper } from '../navigation/IRouteHelper';\nimport { RouteHelper } from '../navigation/RouteHelper';\nimport { IAuthorizationFactory } from '../authorization/IAuthorizationFactory';\nimport { AuthorizationFactory } from '../authorization/AuthorizationFactory';\nimport { IFrontendVersionInfo, IVersionInfoService } from '../versionInfo';\nimport { VersionInfoService } from '../versionInfo/VersionInfoService';\nimport { IChangePasswordStateHelper } from '../Components/MainLayout/Components/ChangePasswordDialog/IChangePasswordStateHelper';\nimport { ChangePasswordStateHelper } from '../Components/MainLayout/Components/ChangePasswordDialog/ChangePasswordStateHelper';\nimport { IPasswordValidatorConfig } from '../authentication/IPasswordValidatorConfig';\nimport { PasswordValidatorConfig } from '../authentication/PasswordValidatorConfig';\nimport { IPasswordPolicy } from '../authentication/PasswordPolicy/IPasswordPolicy';\nimport { MinimumLengthPolicy } from '../authentication/PasswordPolicy/MinimumLengthPolicy';\nimport { MaximumLengthPolicy } from '../authentication/PasswordPolicy/MaximumLengthPolicy';\nimport { LowercaseCharacterPolicy } from '../authentication/PasswordPolicy/LowercaseCharacterPolicy';\nimport { UppercaseCharacterPolicy } from '../authentication/PasswordPolicy/UppercaseCharacterPolicy';\nimport { NumberPresencePolicy } from '../authentication/PasswordPolicy/NumberPresencePolicy';\nimport { SpecialCharacterPolicy } from '../authentication/PasswordPolicy/SpecialCharacterPolicy';\nimport { IPasswordValidator } from '../authentication/IPasswordValidator';\nimport { PasswordValidator } from '../authentication/PasswordValidator';\nimport { ProfileFormStateHelper } from '../Components/Profile/ProfileFormStateHelper';\nimport { IProfileFormStateHelper } from '../Components/Profile/IProfileFormStateHelper';\nimport { LayoutLoader } from '../data/LayoutLoader';\nimport { ILayoutLoader } from '../data/ILayoutLoader';\nimport { ILayoutCatalogManager } from '../Components/DataBrowser/ILayoutCatalogManager';\nimport { LayoutCatalogManager } from '../Components/DataBrowser/LayoutCatalogManager';\nimport { CurrentUserProfileCache } from '../api/CurrentUserProfileCache';\nimport { ICurrentUserProfileCache } from '../api/ICurrentUserProfileCache';\nimport {\n IHelpTextVisibilityStrategy,\n IQuinoDataGridConfigurationService,\n QuinoUIServiceSymbols,\n} from '@quino/ui';\nimport { ProfileHelpTextVisibilityStrategy } from '../configuration/ProfileHelpTextVisibilityStrategy';\nimport {\n ICustomActionNamesReader,\n ICustomActionParser,\n IEntityActionsExtractor,\n} from '../customActions';\nimport { CustomActionNamesReader } from '../customActions/CustomActionNamesReader';\nimport { CustomActionParser } from '../customActions/CustomActionParser';\nimport { EntityActionsExtractor } from '../customActions/EntityActionsExtractor';\nimport { CustomActionService } from '../api/CustomActionService';\nimport { IContextRouteChecker } from '../navigation/IContextRouteChecker';\nimport { ContextRouteChecker } from '../navigation/ContextRouteChecker';\nimport { IConfigurationLoader } from '../configuration/IConfigurationLoader';\nimport { ConfigurationLoader } from '../configuration/ConfigurationLoader';\nimport { ILayoutNameResolver } from '../data/ILayoutNameResolver';\nimport { LayoutNameResolver } from '../data/LayoutNameResolver';\nimport { IDataEntryStatusService } from '../api/IDataEntryStatusService';\nimport { DataEntryStatusService } from '../api/DataEntryStatusService';\nimport { StorageService } from '../api/StorageService';\nimport { IPerformaStorage } from '../storage/IPerformaStorage';\nimport { PerformaStorage } from '../storage/PerformaStorage';\nimport { PerformaFileHandler } from '../storage/PerformaFileHandler';\nimport { IPerformaFileHandler } from '../storage/IPerformaFileHandler';\nimport { performaStore, TPerformaStore } from '../redux/store';\nimport { PerformaDataGridConfigurationService } from '../Components/Grid/PerformaDataGridConfigurationService';\nimport { IRouteExtensions } from '../navigation/IRouteExtensions';\nimport { NullRouteExtensions } from '../navigation/NullRouteExtensions';\nimport { ILoginFormExtensions } from '../Components/Auth/LoginForm/ILoginFormExtensions';\nimport { NullLoginFormExtension } from '../Components/Auth/LoginForm/NullLoginFormExtension';\n\nexport const sharedModule = (settings: ISettings, frontendVersion: string) =>\n // prettier-ignore\n new ContainerModule((bind: interfaces.Bind, unbind: interfaces.Unbind, isBound: interfaces.IsBound, rebind: interfaces.Rebind) => {\n bind(SHARED_SERVICE_IDENTIFIER.ISETTINGS)\n .toConstantValue(settings);\n bind(SHARED_SERVICE_IDENTIFIER.IFRONTENDVERSIONINFO)\n .toConstantValue({frontendVersionInfo: frontendVersion});\n bind(SHARED_SERVICE_IDENTIFIER.IPERFORMAURLMANAGER)\n .to(PerformaUrlManager)\n .inSingletonScope();\n bind(SHARED_SERVICE_IDENTIFIER.IPERFORMASERVER)\n .to(PerformaServer)\n .inSingletonScope();\n bind(SHARED_SERVICE_IDENTIFIER.ICONFIGURATIONSERVICE)\n .to(ConfigurationService)\n .inSingletonScope();\n bind(SHARED_SERVICE_IDENTIFIER.ISESSIONPERSISTER)\n .to(SessionPersister)\n .inSingletonScope();\n bind(SHARED_SERVICE_IDENTIFIER.IPERFORMAAUTHSERVICE)\n .to(AuthService)\n .inSingletonScope();\n bind(SHARED_SERVICE_IDENTIFIER.ISESSIONSERVICE)\n .to(SessionService)\n .inSingletonScope();\n bind(SHARED_SERVICE_IDENTIFIER.ICRMCONTEXTWRAPPERSTATEHELPER)\n .to(CrmContextWrapperStateHelper)\n .inSingletonScope();\n bind(SHARED_SERVICE_IDENTIFIER.IIMAGEFETCHER)\n .to(ImageFetcher)\n .inSingletonScope();\n bind(SHARED_SERVICE_IDENTIFIER.WINDOW)\n .toDynamicValue(() => window);\n bind(SHARED_SERVICE_IDENTIFIER.IPASSWORDRESETSTATEHELPER)\n .to(PasswordResetStateHelper)\n .inSingletonScope();\n bind(SHARED_SERVICE_IDENTIFIER.IFORGOTPASSWORDSTATEHELPER)\n .to(ForgotPasswordStateHelper)\n .inSingletonScope();\n bind(SHARED_SERVICE_IDENTIFIER.IPROFILESERVICE)\n .to(ProfileService)\n .inSingletonScope();\n bind(SHARED_SERVICE_IDENTIFIER.IROUTEHELPER)\n .to(RouteHelper)\n .inSingletonScope();\n bind(SHARED_SERVICE_IDENTIFIER.IROUTEEXTENSIONS)\n .to(NullRouteExtensions)\n .inSingletonScope();\n bind(SHARED_SERVICE_IDENTIFIER.IAUTHORIZATIONFACTORY)\n .to(AuthorizationFactory)\n .inSingletonScope();\n bind(SHARED_SERVICE_IDENTIFIER.IVERSIONINFOSERVICE)\n .to(VersionInfoService)\n .inSingletonScope();\n bind(SHARED_SERVICE_IDENTIFIER.ICHANGEPASSWORDSTATEHELPER)\n .to(ChangePasswordStateHelper)\n .inSingletonScope();\n bind(SHARED_SERVICE_IDENTIFIER.IPASSWORDVALIDATORCONFIG)\n .to(PasswordValidatorConfig)\n .inSingletonScope();\n bind(SHARED_SERVICE_IDENTIFIER.IPASSWORDPOLICY)\n .to(MinimumLengthPolicy)\n .inSingletonScope();\n bind(SHARED_SERVICE_IDENTIFIER.IPASSWORDPOLICY)\n .to(MaximumLengthPolicy)\n .inSingletonScope();\n bind(SHARED_SERVICE_IDENTIFIER.IPASSWORDPOLICY)\n .to(NumberPresencePolicy)\n .inSingletonScope();\n bind(SHARED_SERVICE_IDENTIFIER.IPASSWORDPOLICY)\n .to(LowercaseCharacterPolicy)\n .inSingletonScope();\n bind(SHARED_SERVICE_IDENTIFIER.IPASSWORDPOLICY)\n .to(UppercaseCharacterPolicy)\n .inSingletonScope();\n bind(SHARED_SERVICE_IDENTIFIER.IPASSWORDPOLICY)\n .to(SpecialCharacterPolicy)\n .inSingletonScope();\n bind(SHARED_SERVICE_IDENTIFIER.IPASSWORDVALIDATOR)\n .to(PasswordValidator)\n .inSingletonScope();\n bind(SHARED_SERVICE_IDENTIFIER.IPROFILEFORMSTATEHELPER)\n .to(ProfileFormStateHelper)\n .inSingletonScope();\n bind(SHARED_SERVICE_IDENTIFIER.ILAYOUTLOADER)\n .to(LayoutLoader)\n .inSingletonScope();\n bind(SHARED_SERVICE_IDENTIFIER.ILAYOUTCATALOGMANAGER)\n .to(LayoutCatalogManager)\n .inRequestScope();\n bind(SHARED_SERVICE_IDENTIFIER.ICURRENTUSERPROFILECACHE)\n .to(CurrentUserProfileCache)\n .inSingletonScope();\n rebind(QuinoUIServiceSymbols.IHelpTextVisibilityStrategy)\n .to(ProfileHelpTextVisibilityStrategy)\n .inRequestScope();\n bind(SHARED_SERVICE_IDENTIFIER.ICUSTOMACTIONNAMESREADER)\n .to(CustomActionNamesReader)\n .inRequestScope();\n bind(SHARED_SERVICE_IDENTIFIER.ICUSTOMACTIONPARSER)\n .to(CustomActionParser)\n .inRequestScope();\n bind(SHARED_SERVICE_IDENTIFIER.IENTITYACTIONSEXTRACTOR)\n .to(EntityActionsExtractor)\n .inRequestScope();\n bind(SHARED_SERVICE_IDENTIFIER.ICUSTOMACTIONSERVICE)\n .to(CustomActionService)\n .inRequestScope();\n bind(SHARED_SERVICE_IDENTIFIER.ICONTEXTROUTECHECKER)\n .to(ContextRouteChecker)\n .inRequestScope();\n bind(SHARED_SERVICE_IDENTIFIER.ICONFIGURATIONLOADER)\n .to(ConfigurationLoader)\n .inSingletonScope();\n bind(SHARED_SERVICE_IDENTIFIER.ILAYOUTNAMERESOLVER)\n .to(LayoutNameResolver)\n .inRequestScope();\n bind(SHARED_SERVICE_IDENTIFIER.IDATAENTRYSTATUSSERVICE)\n .to(DataEntryStatusService)\n .inRequestScope();\n bind(SHARED_SERVICE_IDENTIFIER.ISTORAGESERVICE)\n .to(StorageService)\n .inSingletonScope();\n bind(SHARED_SERVICE_IDENTIFIER.IPERFORMASTORAGE)\n .to(PerformaStorage)\n .inSingletonScope();\n bind(SHARED_SERVICE_IDENTIFIER.IPERFORMAFILEHANDLER)\n .to(PerformaFileHandler)\n .inRequestScope();\n bind(SHARED_SERVICE_IDENTIFIER.IPERFORMASTORE)\n .toConstantValue(performaStore);\n bind(SHARED_SERVICE_IDENTIFIER.PERFORMADATAGRIDCONFIGURATIONSERVICE)\n .to(PerformaDataGridConfigurationService)\n .inRequestScope();\n bind(SHARED_SERVICE_IDENTIFIER.ILOCATIONSERVICE)\n .to(LocationService)\n .inRequestScope();\n bind(SHARED_SERVICE_IDENTIFIER.ILOGINFORMEXTENSION)\n .to(NullLoginFormExtension)\n .inSingletonScope();\n });\n","export enum PerformaValidationErrorCodes {\n InvalidSocialSecurityNumber = 'P-VAL-10',\n InvalidIban = 'P-VAL-11',\n DateNotInFuture = 'P-VAL-12',\n InvalidFileUploadNumber = 'P-VAL-13',\n FileInProgress = 'P-VAL-14',\n BooleanNotTrue = 'P-VAL-15',\n InvalidBirthdate = 'P-VAL-16',\n}\n","import { TQuinoUiTranslationKey } from '@quino/ui';\n\n// prettier-ignore\nexport const defaultSharedTranslations = {\n 'literal.CustomLiterals.Application.Title': 'Performa Application',\n 'literal.CustomLiterals.Application.ToStartPage': 'Zur Startseite',\n 'literal.CustomLiterals.BlockedBrowserMessage.Markdown': '# Browser nicht unterstützt\\nIhr Browser wird nicht unterstützt. Bitte verwenden Sie einen anderen Browser.',\n 'literal.CustomLiterals.ChangePassword.Cancel': 'Abbrechen',\n 'literal.CustomLiterals.ChangePassword.Confirm': 'Ok',\n 'literal.CustomLiterals.ChangePassword.ConfirmNewPassword': 'Neues Passwort Bestätigen',\n 'literal.CustomLiterals.ChangePassword.NewPassword': 'Neues Passwort',\n 'literal.CustomLiterals.ChangePassword.OldPassword': 'Aktuelles Passwort',\n 'literal.CustomLiterals.ChangePassword.Submit': 'Neues Passwort setzen',\n 'literal.CustomLiterals.ChangePassword.SuccessMessage': 'Das Passwort wurde geändert.',\n 'literal.CustomLiterals.ChangePassword.Title': 'Passwort ändern',\n 'literal.CustomLiterals.ChangePassword.Validation.Mismatch': 'Passwörter stimmen nicht überein',\n 'literal.CustomLiterals.ChangePassword.Validation.MissingRequiredFields': 'Darf nicht leer sein',\n 'literal.CustomLiterals.ChangePassword.Validation.ServerError': 'Konnte das Passwort nicht ändern. Stellen Sie sicher, dass das aktuelle Passwort korrekt ist',\n 'literal.CustomLiterals.Confirm': 'Ok',\n 'literal.CustomLiterals.ConfirmEmail.Error': 'Die Verifikation der E-Mail-Adresse ist fehlgeschlagen.',\n 'literal.CustomLiterals.ConfirmEmail.Success': 'Die E-Mail-Adresse wurde erfolgreich verifiziert.',\n 'literal.CustomLiterals.ConfirmEmail.Title': 'E-Mail-Adresse verifizieren',\n 'literal.CustomLiterals.CrmContextWrapper.ErrorCouldNotLoadFetchContexts': 'Error: Could not fetch contexts. Message: {{errorMessage}}',\n 'literal.CustomLiterals.Dashboard.Message': '## Herzlich Willkommen!', // Markdown supported\n 'literal.CustomLiterals.DataBrowser.ErrorCouldNotLoadData': 'Keine Daten oder keine Konfiguration',\n 'literal.CustomLiterals.DataBrowser.ErrorListLayoutNotFound': 'Listen-Layout (View) mit Name [{{layoutName}}] nicht gefunden!',\n 'literal.CustomLiterals.DataBrowser.ErrorNoListLayoutsAvailableYet': 'Keine Listen-Layouts (Views) verfügbar!',\n 'literal.CustomLiterals.DataBrowser.ErrorUnableToDetermineLayoutName': 'Name des Listen-Layouts (View) konnte nicht ermittelt werden!',\n 'literal.CustomLiterals.DataBrowser.ErrorUnknownView': 'Fehler: Unbekannte Ansicht!',\n 'literal.CustomLiterals.DataBrowser.Detail.ExportFailed': 'Die Daten konnten nicht exportierten werden',\n 'literal.CustomLiterals.DataBrowser.Detail.ExportFailed.Title': 'Fehler',\n 'literal.CustomLiterals.DataBrowser.Detail.NotFound.Title': 'Eintrag konnte nicht geladen werden',\n 'literal.CustomLiterals.DataBrowser.Detail.NotFound.Text': 'Der Eintrag existiert nicht oder wurde gelöscht und steht nicht mehr zur Verfügung. Sie werden nun zur Übersicht der Einträge weitergeleitet.',\n 'literal.CustomLiterals.DataBrowser.Detail.LayoutNotFound.Title': 'Kein Layout für den Eintrag gefunden',\n 'literal.CustomLiterals.DataBrowser.Detail.LayoutNotFound.Text': 'Es existiert kein Layout für den Eintrag \"{{entity}}\".',\n 'literal.CustomLiterals.DataBrowser.List.LayoutNotFound.Title': ' Layout für Liste nicht gefunden',\n 'literal.CustomLiterals.DataBrowser.List.LayoutNotFound.Text': 'Layout \"{{layout}}\" für den Eintrag \"{{entity}}\" wurde nicht gefunden.',\n 'literal.CustomLiterals.DataBrowser.LoadingAuthorizations': 'Berechtigungen werden geladen ...',\n 'literal.CustomLiterals.DataBrowser.LoadingData': 'Daten werden geladen ...',\n 'literal.CustomLiterals.DataList.ErrorCouldNotFindListLayout': 'Konnte keine Listeninformationen finden!',\n 'literal.CustomLiterals.DataList.Filter': 'Filter',\n 'literal.CustomLiterals.DataList.New': 'Neuer Eintrag',\n 'literal.CustomLiterals.ForgotPassword.BackButton': 'Zurück zur Anmeldung',\n 'literal.CustomLiterals.ForgotPassword.EmailSentDialog.BackButton': 'Zurück zur Anmeldung',\n 'literal.CustomLiterals.ForgotPassword.EmailSentDialog.Text': 'Falls Sie über ein aktives Benutzerkonto verfügen, wurde Ihnen soeben per E-Mail ein Link zum Zurücksetzen des Passworts zugestellt.',\n 'literal.CustomLiterals.ForgotPassword.EmailSentDialog.Title': 'E-Mail gesendet',\n 'literal.CustomLiterals.ForgotPassword.ErrorMessage': 'Ein Fehler ist aufgetreten: {{errorMessage}}',\n 'literal.CustomLiterals.ForgotPassword.ResetPasswordButton': 'Passwort zurücksetzen',\n 'literal.CustomLiterals.ForgotPassword.Title': 'Passwort vergessen',\n 'literal.CustomLiterals.ForgotPassword.UserNamePlaceholderText': 'Benutzername',\n 'literal.CustomLiterals.Header.OpenSidebar': 'Aufklappen',\n 'literal.CustomLiterals.LocalizedLabel.AspectError': 'Error while loading of LocalizedLabel. No \"TranslationKeyAspect\" found.',\n 'literal.CustomLiterals.LocalizedLabel.TranslationKeyError': 'Error while loading LocalizedLabel. No matching translation key found.',\n 'literal.CustomLiterals.Login.CustomText': '', // Markdown supported\n 'literal.CustomLiterals.Login.EmailAddressPlaceholder': 'Email-Adresse',\n 'literal.CustomLiterals.Login.ForgotPasswordButton': 'Passwort vergessen?',\n 'literal.CustomLiterals.Login.GoToLogin': 'Zum Login',\n 'literal.CustomLiterals.Login.InvalidLogin.Simple': 'Ihr Benutzername oder Kennwort ist nicht korrekt.',\n 'literal.CustomLiterals.Login.InvalidLogin': 'Ihr Benutzername oder Kennwort ist nicht korrekt. Wenn Sie Ihr Kennwort nicht mehr wissen, klicken Sie auf «Passwort vergessen».',\n 'literal.CustomLiterals.Login.LoginButton': 'Anmelden',\n 'literal.CustomLiterals.Login.PasswordPlaceholder': 'Passwort',\n 'literal.CustomLiterals.Login.Register': 'Registrieren',\n 'literal.CustomLiterals.Login.SessionExpired.Title': 'Sitzung abgelaufen, bitte anmelden',\n 'literal.CustomLiterals.Login.ShowPassword': 'Passwort anzeigen/verbergen',\n 'literal.CustomLiterals.Login.Title': 'Anmelden',\n 'literal.CustomLiterals.MainLayout.CrmContextCancelButton': 'Abbrechen',\n 'literal.CustomLiterals.MainLayout.CrmContextChangeTitle': 'Kontext wechseln',\n 'literal.CustomLiterals.MainLayout.CrmContextSearch': 'Suchen...',\n 'literal.CustomLiterals.MainLayout.CrmContextSearchNoResult': 'Es wurde kein Kontext für Ihre Suche gefunden.',\n 'literal.CustomLiterals.MainLayout.CrmContextNoContextText': 'Es ist noch kein Kontext für Sie definiert. Bitte wenden sie sich an den Administrator des Systems.',\n 'literal.CustomLiterals.MainLayout.CrmContextSelectionTitle': 'Kontext auswählen',\n 'literal.CustomLiterals.PasswordPolicy.Errors.AboveMaximumLength': 'Das Passwort darf maximal {{amount}} Zeichen enthalten.',\n 'literal.CustomLiterals.PasswordPolicy.Errors.BelowMinimumLength': 'Das Passwort muss mindestens {{amount}} Zeichen enthalten.',\n 'literal.CustomLiterals.PasswordPolicy.Errors.MissingLowercaseCharacter': 'Das Passwort muss mindestens einen Kleinbuchstaben enthalten.',\n 'literal.CustomLiterals.PasswordPolicy.Errors.MissingNumberCharacter': 'Das Passwort muss mindestens eine Zahl enthalten.',\n 'literal.CustomLiterals.PasswordPolicy.Errors.MissingSpecialCharacter': 'Das Passwort muss mindestens eines der folgenden Sonderzeichen enthalten: {{allowedSpecialChars}}.',\n 'literal.CustomLiterals.PasswordPolicy.Errors.MissingUppercaseCharacter': 'Das Passwort muss mindestens einen Grossbuchstaben enthalten.',\n 'literal.CustomLiterals.PasswordReset.BackButton': 'Zurück zur Anmeldung',\n 'literal.CustomLiterals.PasswordReset.Dialog.BackButton': 'Zum Login',\n 'literal.CustomLiterals.PasswordReset.Dialog.Text': 'Das Passwort wurde erfolgreich aktualisiert.',\n 'literal.CustomLiterals.PasswordReset.Dialog.Title': 'Passwort aktualisiert',\n 'literal.CustomLiterals.PasswordReset.ErrorPasswordsDontMatch': 'Die eingegebenen Passwörter stimmen nicht überein. Bitte neu erfassen.',\n 'literal.CustomLiterals.PasswordReset.ErrorResetTokenExpired': 'Ihre Angaben sind nicht korrekt oder die Gültigkeit für die Zurücksetzung des Passworts ist abgelaufen. Bitte kontrollieren Sie den Benutzernamen oder klicken Sie nochmals auf die Funktion «Passwort vergessen».',\n 'literal.CustomLiterals.PasswordReset.ErrorUsernameMustBeNotEmpty': 'Benutzername darf nicht leer sein',\n 'literal.CustomLiterals.PasswordReset.Password2PlaceholderText': 'Passwort wiederholen',\n 'literal.CustomLiterals.PasswordReset.PasswordPlaceholderText': 'Passwort',\n 'literal.CustomLiterals.PasswordReset.SetNewPasswordButton': 'Neues Passwort setzen',\n 'literal.CustomLiterals.PasswordReset.Title': 'Passwort zurücksetzen',\n 'literal.CustomLiterals.PasswordReset.UserNamePlaceholderText': 'Benutzername',\n 'literal.CustomLiterals.Profile.Discard': 'Verwerfen',\n 'literal.CustomLiterals.Profile.Field.Branch': 'Filiale',\n 'literal.CustomLiterals.Profile.Field.Address': 'Adresse',\n 'literal.CustomLiterals.Profile.Field.Company': 'Unternehmen',\n 'literal.CustomLiterals.Profile.Field.EmailAddress': 'Email-Addresse',\n 'literal.CustomLiterals.Profile.Field.FirstName': 'Vorname',\n 'literal.CustomLiterals.Profile.Field.Language': 'Sprache',\n 'literal.CustomLiterals.Profile.Field.LastName': 'Nachname',\n 'literal.CustomLiterals.Profile.Field.Password': 'Passwort',\n 'literal.CustomLiterals.Profile.Field.PasswordConfirmation': 'Passwort bestätigen',\n 'literal.CustomLiterals.Profile.Field.ShowFieldDescriptions': 'Hilfetexte anzeigen',\n 'literal.CustomLiterals.Profile.LoadError': 'Profilinformationen konnten nicht geladen werden.',\n 'literal.CustomLiterals.Profile.Save': 'Speichern',\n 'literal.CustomLiterals.Profile.SaveError': 'Speichern des Profils fehlgeschlagen',\n 'literal.CustomLiterals.Profile.ShowDesciptions.Always': 'Immer',\n 'literal.CustomLiterals.Profile.ShowDesciptions.Hover': 'Als Tooltip',\n 'literal.CustomLiterals.Profile.ShowDesciptions.Never': 'Nie',\n 'literal.CustomLiterals.Profile.Title': 'Profil',\n 'literal.CustomLiterals.Profile.UserSettings.Error.Title': 'Fehler',\n 'literal.CustomLiterals.Profile.UserSettings.Error.Message': 'Es ist ein Fehler beim Laden der Benutzereinstellungen aufgetreten. Bitte loggen Sie sich erneut ein.', // Markdown supported\n 'literal.CustomLiterals.ProfileForm.LeadinText': 'Bitte füllen Sie das folgende Formular aus.', // Markdown supported\n 'literal.CustomLiterals.ProfileForm.LeadoutText': 'Bitte überprüfen Sie Ihre Angaben.', // Markdown supported\n 'literal.CustomLiterals.ProfileForm.Validation.InvalidEmailAddressFormat': 'Ungültiges Format der Email-Adresse',\n 'literal.CustomLiterals.ProfileForm.Validation.MissingEmailAddress': 'Email-Adresse ist zwingend',\n 'literal.CustomLiterals.ProfileForm.Validation.MissingFirstName': 'Vorname ist zwingend',\n 'literal.CustomLiterals.ProfileForm.Validation.MissingLanguage': 'Sprache ist zwingend',\n 'literal.CustomLiterals.ProfileForm.Validation.MissingLastName': 'Nachname ist zwingend',\n 'literal.CustomLiterals.ProfileForm.Validation.MissingBranch': 'Filiale ist zwingend',\n 'literal.CustomLiterals.ProfileForm.Validation.MissingCompany': 'Unternehmen ist zwingend',\n 'literal.CustomLiterals.ProfileForm.Validation.MissingAddress': 'Adresse ist zwingend',\n 'literal.CustomLiterals.ServerNotReachable': '# Server nicht erreichbar', // Markdown supported\n 'literal.CustomLiterals.ServerRestart.Failure': 'Neustart fehlgeschlagen. Der Server meldete: {{errorMessage}}',\n 'literal.CustomLiterals.ServerRestart.Submit': 'Server neu starten',\n 'literal.CustomLiterals.ServerRestart.Success': 'Neustart erfolgreich angestossen',\n 'literal.CustomLiterals.Upload.UploadButton': 'Dateien auswählen',\n 'literal.CustomLiterals.Upload.DropField': '... oder hier ablegen',\n 'literal.CustomLiterals.Upload.DownLoadError': 'Die Datei konnte nicht heruntergeladen werden',\n 'literal.CustomLiterals.Upload.UploadError': 'Dateien konnten nicht gespeichert werden',\n 'literal.CustomLiterals.UserMenu.ChangePassword': 'Passwort ändern',\n 'literal.CustomLiterals.UserMenu.Profile': 'Profil',\n 'literal.CustomLiterals.UserMenu.Settings': 'Einstellungen',\n 'literal.CustomLiterals.UserMenu.SignOut': 'Abmelden',\n 'literal.CustomLiterals.UserRegistration.Dialog.Confirm': 'Zur Anmeldung',\n 'literal.CustomLiterals.UserRegistration.Dialog.Text': 'Die Registration war erfolgreich. In Kürze erhalten Sie ein E-Mail, um ihre E-Mail-Adresse zu bestätigen. Bitte bestätigen Sie ihre E-Mail-Adresse, um Ihr Konto zu aktivieren.',\n 'literal.CustomLiterals.UserRegistration.Dialog.Title': 'Registration erfolgreich',\n 'literal.CustomLiterals.UserRegistration.SendButton.Text': 'Senden',\n 'literal.CustomLiterals.UserRegistration.Title': 'Registrierung',\n 'literal.CustomLiterals.UserSettings.Dialog.IntroText': 'Bitte ergänzen Sie Ihre Benutzerangaben, um die Applikation nutzen zu können.',\n 'literal.CustomLiterals.UserSettings.Dialog.Title': 'Benutzerangaben',\n 'literal.CustomLiterals.Validations.DateNotInFuture': 'Datum muss in der Zukunft liegen',\n 'literal.CustomLiterals.Validations.FileInProgress' : 'Es kann erst gespeichert werden, wenn alle Uploads abgeschlossen sind',\n 'literal.CustomLiterals.Validations.InvalidBirthdate' : 'Das Alter muss zwischen {{minAge}} und {{maxAge}} liegen.',\n 'literal.CustomLiterals.Validations.InvalidFileUploadMaxFileSize' : 'Die maximale Dateigrösse von {{maxSizeMB}} MB darf nicht überschritten werden',\n 'literal.CustomLiterals.Validations.InvalidFileUploadMaxNumber' : 'Maximal {{maxFiles}} Datei(en) erlaubt',\n 'literal.CustomLiterals.Validations.InvalidFileUploadMinNumber' : 'Mindestens {{minFiles}} Datei(en) erforderlich',\n 'literal.CustomLiterals.Validations.InvalidFileType': 'Es können nur Dateien des Typs {{acceptedFiles}} hochgeladen werden',\n 'literal.CustomLiterals.Validations.InvalidIban': 'Ungültige IBAN',\n 'literal.CustomLiterals.Validations.InvalidSocialSecurityNumber': 'Ungültige AHV-Nummer',\n 'literal.CustomLiterals.VersionInfo.BackEndVersion': 'Back-End: {{version}}',\n 'literal.CustomLiterals.VersionInfo.FrontEndVersion': 'Front-End: {{version}}',\n 'literal.CustomLiterals.ZipPlaceLookup.NoDataText': 'PLZ oder Ort nicht gefunden',\n 'literal.CustomLiterals.AuthError.Title': 'Authentication error',\n 'literal.CustomLiterals.AuthError.Text': '{{error}}\\n\\nIf the problem persists please contact an administrator.',\n 'literal.CustomLiterals.AuthErrorWithUserEmail.Text': '{{userEmail}}\\n\\n{{error}}\\n\\nIf the problem persists please contact an administrator.'\n};\n\nexport type TTranslationKey =\n // SPECIAL: BUILT DYNAMICALLY AT RUNTIME: 'literal.CustomLiterals.CustomAction.'\n TQuinoUiTranslationKey | keyof typeof defaultSharedTranslations;\n\n/**\n * proxy function to type check translation key\n * @param key\n */\nexport const tKey = (key: TTranslationKey): TTranslationKey => key;\n","import {\n getAspectOrDefault,\n IFieldValidator,\n II18n,\n IMetaProperty,\n QuinoCoreServiceSymbols,\n} from '@quino/core';\nimport { inject, injectable } from 'inversify';\nimport { PerformaValidationErrorCodes } from './PerformaValidationErrorCodes';\nimport { tKey } from '../../lang/TranslationKeys';\nimport { IValidationContext } from '@quino/core/dist/validations/IValidationContext';\nimport { IFieldValidationResult } from '@quino/core/dist/validations/IFieldValidationResult';\n\n@injectable()\nexport class IbanValidator implements IFieldValidator {\n constructor(@inject(QuinoCoreServiceSymbols.II18N) private i18n: II18n) {}\n\n validate(\n field: IMetaProperty,\n value: any,\n context: IValidationContext\n ): IFieldValidationResult {\n if (!getAspectOrDefault(field, 'IBAN')) {\n return {};\n }\n\n if (!value) {\n return {};\n }\n\n if (typeof value !== 'string') {\n return this.getError(field);\n }\n\n if (!IbanValidator.validateFormat(value)) {\n return this.getError(field);\n }\n\n if (!IbanValidator.validateChecksum(value)) {\n return this.getError(field);\n }\n\n if (!IbanValidator.validateLengthForCountry(value)) {\n return this.getError(field);\n }\n\n return {};\n }\n\n private static validateLengthForCountry(data: string) {\n const iban = data.replace(/\\s/g, '');\n const ibanLength = iban.length;\n const ibanCountry = iban.substr(0, 2);\n const ibanCountryLength = IbanValidator.getIbanLengthByCountry(ibanCountry);\n if (ibanCountryLength < 0) {\n // IBAN length can not be checked, e.g for countries where the IBAN is under development\n // https://en.wikipedia.org/wiki/International_Bank_Account_Number#IBAN_formats_by_country\n return true;\n }\n return ibanCountryLength == ibanLength;\n }\n\n /**\n * Regex taken from https://stackoverflow.com/a/44657292\n */\n private static validateFormat(data: string) {\n const regExPattern = /^([A-Z]{2}[ -]?[0-9]{2})(?=(?:[ -]?[A-Z0-9]){9,30}$)((?:[ -]?[A-Z0-9]{3,5}){2,7})([ -]?[A-Z0-9]{1,3})?$/;\n return regExPattern.test(data);\n }\n\n private static validateChecksum(data: string) {\n return IbanValidator.iso7064Mod97_10(IbanValidator.iso13616Prepare(data)) === 1;\n }\n\n private getError(field: IMetaProperty) {\n return {\n fieldErrors: [\n {\n fieldName: field.name,\n errorCode: PerformaValidationErrorCodes.InvalidIban,\n errorMessage: this.i18n.t(\n tKey('literal.CustomLiterals.Validations.InvalidIban')\n ),\n },\n ],\n };\n }\n\n /**\n * Code taken from https://github.com/arhs/iban.js\n *\n * Prepare an IBAN for mod 97 computation by moving the first 4 chars to the end and transforming the letters to\n * numbers (A = 10, B = 11, ..., Z = 35), as specified in ISO13616.\n *\n * @param {string} iban the IBAN\n * @returns {string} the prepared IBAN\n */\n private static iso13616Prepare(iban: string) {\n const A = 'A'.charCodeAt(0);\n const Z = 'Z'.charCodeAt(0);\n\n iban = iban.replace(/\\s/g, '');\n iban = iban.toUpperCase();\n iban = iban.substr(4) + iban.substr(0, 4);\n\n return iban\n .split('')\n .map(function(n) {\n const code = n.charCodeAt(0);\n if (code >= A && code <= Z) {\n // A = 10, B = 11, ... Z = 35\n return code - A + 10;\n } else {\n return n;\n }\n })\n .join('');\n }\n\n /**\n * Code taken from https://github.com/arhs/iban.js\n *\n * Calculates the MOD 97 10 of the passed IBAN as specified in ISO7064.\n *\n * @param iban\n * @returns {number}\n */\n // eslint-disable-next-line @typescript-eslint/camelcase\n private static iso7064Mod97_10(iban: string) {\n let remainder = iban;\n\n while (remainder.length > 2) {\n const block = remainder.slice(0, 9);\n remainder = (parseInt(block, 10) % 97) + remainder.slice(block.length);\n }\n\n return parseInt(remainder, 10) % 97;\n }\n\n /**\n * See link for reference: https://en.wikipedia.org/wiki/International_Bank_Account_Number#IBAN_formats_by_country\n *\n * Returns the length of the iban code for a country\n *\n * @param countryCode\n * @returns {number}\n */\n private static getIbanLengthByCountry(countryCode: string) {\n switch (countryCode.toUpperCase()) {\n case 'AL':\n return 28;\n case 'AD':\n return 24;\n case 'AT':\n return 20;\n case 'AZ':\n return 28;\n case 'BH':\n return 22;\n case 'BY':\n return 28;\n case 'BE':\n return 16;\n case 'BA':\n return 20;\n case 'BR':\n return 29;\n case 'BG':\n return 22;\n case 'CR':\n return 22;\n case 'HR':\n return 21;\n case 'CY':\n return 28;\n case 'CZ':\n return 24;\n case 'DK':\n return 18;\n case 'DO':\n return 28;\n case 'TL':\n return 23;\n case 'EG':\n return 29;\n case 'SV':\n return 28;\n case 'EE':\n return 20;\n case 'FO':\n return 18;\n case 'FI':\n return 18;\n case 'FR':\n return 27;\n case 'GE':\n return 22;\n case 'DE':\n return 22;\n case 'GI':\n return 23;\n case 'GR':\n return 27;\n case 'GL':\n return 18;\n case 'GT':\n return 28;\n case 'HU':\n return 28;\n case 'IS':\n return 26;\n case 'IQ':\n return 23;\n case 'IE':\n return 22;\n case 'IL':\n return 23;\n case 'IT':\n return 27;\n case 'JO':\n return 30;\n case 'KZ':\n return 20;\n case 'XK':\n return 20;\n case 'KW':\n return 30;\n case 'LV':\n return 21;\n case 'LB':\n return 28;\n case 'LY':\n return 25;\n case 'LI':\n return 21;\n case 'LT':\n return 20;\n case 'LU':\n return 20;\n case 'MK':\n return 19;\n case 'MT':\n return 31;\n case 'MR':\n return 27;\n case 'MU':\n return 30;\n case 'MC':\n return 27;\n case 'MD':\n return 24;\n case 'ME':\n return 22;\n case 'NL':\n return 18;\n case 'NO':\n return 15;\n case 'PK':\n return 24;\n case 'PS':\n return 29;\n case 'PL':\n return 28;\n case 'PT':\n return 25;\n case 'QA':\n return 29;\n case 'RO':\n return 24;\n case 'LC':\n return 32;\n case 'SM':\n return 27;\n case 'ST':\n return 25;\n case 'SA':\n return 24;\n case 'RS':\n return 22;\n case 'SC':\n return 31;\n case 'SK':\n return 24;\n case 'SI':\n return 19;\n case 'ES':\n return 24;\n case 'SE':\n return 24;\n case 'CH':\n return 21;\n case 'TN':\n return 24;\n case 'TR':\n return 26;\n case 'UA':\n return 29;\n case 'AE':\n return 23;\n case 'GB':\n return 22;\n case 'VA':\n return 22;\n case 'VG':\n return 24;\n default:\n return -1;\n }\n }\n}\n","import {\n getAspectOrDefault,\n IFieldValidator,\n II18n,\n IMetaProperty,\n QuinoCoreServiceSymbols,\n} from '@quino/core';\nimport { inject, injectable } from 'inversify';\nimport { PerformaValidationErrorCodes } from './PerformaValidationErrorCodes';\nimport { tKey } from '../../lang/TranslationKeys';\nimport { IValidationContext } from '@quino/core/dist/validations/IValidationContext';\nimport { IFieldValidationResult } from '@quino/core/dist/validations/IFieldValidationResult';\n\n@injectable()\nexport class SocialSecurityNumberValidator implements IFieldValidator {\n constructor(@inject(QuinoCoreServiceSymbols.II18N) private i18n: II18n) {}\n\n validate(\n field: IMetaProperty,\n value: any,\n context: IValidationContext\n ): IFieldValidationResult {\n if (!value) {\n return {};\n }\n\n if (!getAspectOrDefault(field, 'SocialSecurityNumber')) {\n return {};\n }\n\n if (typeof value !== 'string') {\n return this.getError(field);\n }\n\n if (!SocialSecurityNumberValidator.validateFormat(value)) {\n return this.getError(field);\n }\n\n if (!SocialSecurityNumberValidator.validateChecksum(value)) {\n return this.getError(field);\n }\n\n return {};\n }\n\n private static validateFormat(data: string) {\n const regExPattern = /^756\\.\\d{4}\\.\\d{4}\\.\\d{2}$/g;\n return regExPattern.test(data);\n }\n\n private static validateChecksum(data: string) {\n const checksum = data\n .match(/(\\d)/g)!\n .map((match) => parseInt(match, 10))\n .map((digit, i) => (i % 2 !== 0 ? digit * 3 : digit))\n .reduce((sum, digit) => sum + digit, 0);\n\n return checksum % 10 === 0;\n }\n\n private getError(field: IMetaProperty) {\n return {\n fieldErrors: [\n {\n fieldName: field.name,\n errorCode: PerformaValidationErrorCodes.InvalidSocialSecurityNumber,\n errorMessage: this.i18n.t(\n tKey('literal.CustomLiterals.Validations.InvalidSocialSecurityNumber')\n ),\n },\n ],\n };\n }\n}\n","import {\n getAspectOrDefault,\n IFieldValidator,\n II18n,\n IMetaProperty,\n QuinoCoreServiceSymbols,\n} from '@quino/core';\nimport { inject, injectable } from 'inversify';\nimport { PerformaValidationErrorCodes } from './PerformaValidationErrorCodes';\nimport { tKey } from '../../lang/TranslationKeys';\nimport { IValidationContext } from '@quino/core/dist/validations/IValidationContext';\nimport { IFieldValidationResult } from '@quino/core/dist/validations/IFieldValidationResult';\n\n@injectable()\nexport class DateInFutureValidator implements IFieldValidator {\n constructor(@inject(QuinoCoreServiceSymbols.II18N) private i18n: II18n) {}\n\n validate(\n field: IMetaProperty,\n value: any,\n context: IValidationContext\n ): IFieldValidationResult {\n if (!value) {\n return {};\n }\n\n if (!getAspectOrDefault(field, 'DateInFuture')) {\n return {};\n }\n\n if (typeof value !== 'string') {\n return this.getError(field);\n }\n\n const date = new Date(value);\n\n if (!DateInFutureValidator.isValidDate(date)) {\n return this.getError(field);\n }\n\n if (!DateInFutureValidator.isFutureDate(date)) {\n return this.getError(field);\n }\n\n return {};\n }\n\n private static isFutureDate(date: Date): boolean {\n const endOfDay = new Date();\n endOfDay.setHours(23, 59, 59, 999);\n return endOfDay < date;\n }\n\n private static isValidDate(date: unknown): boolean {\n return date instanceof Date && !isNaN(date.getTime());\n }\n\n private getError(field: IMetaProperty) {\n return {\n fieldErrors: [\n {\n fieldName: field.name,\n errorCode: PerformaValidationErrorCodes.DateNotInFuture,\n errorMessage: this.i18n.t(\n tKey('literal.CustomLiterals.Validations.DateNotInFuture')\n ),\n },\n ],\n };\n }\n}\n","import {\n getAspectOrDefault,\n getMetaProperty,\n IExpressionEvaluator,\n IFieldValidator,\n II18n,\n IMetaAspect,\n IMetaProperty,\n QuinoCoreServiceSymbols,\n RequiredRuleAspectIdentifier,\n} from '@quino/core';\nimport { inject, injectable } from 'inversify';\nimport { PerformaValidationErrorCodes } from './PerformaValidationErrorCodes';\nimport { tKey } from '../../lang/TranslationKeys';\nimport {\n IUploadSettingsAspect,\n UploadSettingsAspectIdentifier,\n} from '../../meta/aspects/IUploadSettingsAspect';\nimport { IValidationContext } from '@quino/core/dist/validations/IValidationContext';\nimport { IFieldValidationResult } from '@quino/core/dist/validations/IFieldValidationResult';\nimport { IFilesSaveValue } from '../../Components/Form/Upload/Upload';\n\n@injectable()\nexport class FileUploadValidator implements IFieldValidator {\n constructor(\n @inject(QuinoCoreServiceSymbols.II18N) private i18n: II18n,\n @inject(QuinoCoreServiceSymbols.IExpressionEvaluator)\n private expressionEvaluator: IExpressionEvaluator\n ) {}\n\n validate(\n field: IMetaProperty,\n value: any,\n context: IValidationContext\n ): IFieldValidationResult {\n if (field.controlName.toLocaleLowerCase() === 'upload') {\n const parsedData: IFilesSaveValue | undefined = value ? JSON.parse(value) : undefined;\n const metaProperty = getMetaProperty(field);\n const uploadSettingsAspect = getAspectOrDefault(\n metaProperty,\n UploadSettingsAspectIdentifier\n );\n const requiredRuleAspect = getAspectOrDefault(field, RequiredRuleAspectIdentifier);\n\n if (!parsedData) {\n if (\n this.isRequiredField(requiredRuleAspect, field, context) &&\n uploadSettingsAspect &&\n uploadSettingsAspect.minfiles &&\n uploadSettingsAspect.minfiles > 0\n ) {\n return this.getMinFilesError(field, uploadSettingsAspect.minfiles);\n }\n if (this.isRequiredField(requiredRuleAspect, field, context)) {\n return this.getMinFilesError(field, 1);\n }\n return {};\n }\n\n if (parsedData.uploadInProgress) {\n return this.getUploadInProgressError(field);\n }\n\n if (\n (this.isRequiredField(requiredRuleAspect, field, context) &&\n uploadSettingsAspect &&\n !FileUploadValidator.validateMinNumberOfUploads(\n uploadSettingsAspect.minfiles,\n parsedData.numberOfFiles\n )) ||\n (this.isRequiredField(requiredRuleAspect, field, context) &&\n parsedData.numberOfFiles < 1)\n ) {\n return this.getMinFilesError(\n field,\n uploadSettingsAspect ? uploadSettingsAspect.minfiles : 1\n );\n }\n\n if (\n uploadSettingsAspect &&\n !FileUploadValidator.validateMaxNumberOfUploads(\n uploadSettingsAspect.maxfiles,\n parsedData.numberOfFiles\n )\n ) {\n return this.getMaxFilesError(field, uploadSettingsAspect.maxfiles);\n }\n }\n\n return {};\n }\n\n isRequiredField = (\n validationRule: IMetaAspect | null,\n field: IMetaProperty,\n context: IValidationContext\n ) => {\n if (field.required) {\n return this.expressionEvaluator.evaluate(\n field.required,\n context != null ? context.data : {}\n );\n }\n\n return validationRule;\n };\n\n private static validateMinNumberOfUploads(minFiles?: number, numberOfFiles?: number) {\n numberOfFiles = numberOfFiles ? numberOfFiles : 0;\n\n if (minFiles) {\n if (numberOfFiles < minFiles) {\n return false;\n }\n }\n\n return true;\n }\n\n private static validateMaxNumberOfUploads(maxFiles?: number, numberOfFiles?: number) {\n numberOfFiles = numberOfFiles ? numberOfFiles : 0;\n\n if (maxFiles) {\n if (numberOfFiles > maxFiles) {\n return false;\n }\n }\n\n return true;\n }\n\n private getMinFilesError(field: IMetaProperty, minFiles?: number) {\n return {\n fieldErrors: [\n {\n fieldName: field.name,\n errorCode: PerformaValidationErrorCodes.InvalidFileUploadNumber,\n errorMessage: this.i18n.t(\n tKey('literal.CustomLiterals.Validations.InvalidFileUploadMinNumber'),\n {\n minFiles: minFiles && minFiles,\n }\n ),\n },\n ],\n };\n }\n\n private getMaxFilesError(field: IMetaProperty, maxFiles?: number) {\n return {\n fieldErrors: [\n {\n fieldName: field.name,\n errorCode: PerformaValidationErrorCodes.InvalidFileUploadNumber,\n errorMessage: this.i18n.t(\n tKey('literal.CustomLiterals.Validations.InvalidFileUploadMaxNumber'),\n {\n maxFiles: maxFiles && maxFiles,\n }\n ),\n },\n ],\n };\n }\n\n private getUploadInProgressError(field: IMetaProperty) {\n return {\n fieldErrors: [\n {\n fieldName: field.name,\n errorCode: PerformaValidationErrorCodes.FileInProgress,\n errorMessage: this.i18n.t(\n tKey('literal.CustomLiterals.Validations.FileInProgress')\n ),\n },\n ],\n };\n }\n}\n","/**\n * The identifier for retrieving a settings upload aspect.\n */\nimport { IMetaAspect } from '@quino/core';\n\nexport const UploadSettingsAspectIdentifier = 'ControlParameters';\n\n/**\n * Upload settings which contains the context, minimum and maximum files to upload\n */\nexport interface IUploadSettingsAspect extends IMetaAspect {\n context?: string;\n maxfiles?: number;\n minfiles?: number;\n}\n","// noinspection SpellCheckingInspection\nexport const PERFORMA_CONTROL_IDENTIFIER = {\n GRID: 'Grid',\n GRIDEDITOR: 'GridEditor',\n LOCALIZEDLABEL: 'LocalizedLabel',\n MARKDOWN: 'Markdown',\n TABCONTAINER: 'TabContainer',\n UPLOAD: 'Upload',\n PLACEHOLDER: 'Placeholder',\n NOCAPTONGROUPBOX: 'NoCaptionGroupBox',\n ZIPPLACELOOKUP: 'ZipPlaceLookup',\n FILTEREDDROPDOWN: 'FilteredDropDown',\n CUSTOMQUERYDROPDOWN: 'CustomqueryDropDown',\n};\n","import React from 'react';\nimport { lazyInject } from '@quino/core';\nimport { QuinoUIServiceSymbols, IMarkdownConverter } from '@quino/ui';\n\ntype TStyles = {\n markdownWrapper: string;\n};\nconst styles: TStyles = require('./Markdown.less');\n\ninterface IProps {\n children?: string;\n}\n\nexport class Markdown extends React.Component {\n @lazyInject(QuinoUIServiceSymbols.IMarkdownConverter)\n private markdownConverter: IMarkdownConverter;\n\n render() {\n const convertedMarkdown = this.markdownConverter.convertToHtml(this.props.children || '');\n\n return (\n \n );\n }\n}\n","import React from 'react';\nimport {\n IQuinoComponentProps,\n ObjectBookmark,\n QuinoLabeled,\n QuinoLabeledLabelPosition,\n useService,\n} from '@quino/ui';\n\nimport { Markdown } from '../../Util/Markdown/Markdown';\nimport { getMetaProperty, IExpressionEvaluator, QuinoCoreServiceSymbols } from '@quino/core';\n\ntype TStyles = {\n markdownDetailRoot: string;\n markdownDetail: string;\n};\n\nconst styles: TStyles = require('./MarkdownDetail.less');\n\nexport const MarkdownDetail: React.FunctionComponent> = (\n props\n) => {\n const { element, bookmark } = props;\n const metaProperty = getMetaProperty(element);\n const { description, name, caption } = metaProperty;\n\n const expressionEvaluator = useService(\n QuinoCoreServiceSymbols.IExpressionEvaluator\n );\n const context = bookmark.genericObject;\n const required =\n metaProperty.required != null &&\n expressionEvaluator.evaluate(metaProperty.required, context);\n\n return (\n
\n \n
\n {bookmark.genericObject[name]}\n
\n \n
\n );\n};\n","import React from 'react';\n\nexport const ErrorMessage: React.FC = ({ children }) => {\n return {children};\n};\n","import { useContext, useState } from 'react';\nimport { interfaces } from 'inversify';\nimport ServiceIdentifier = interfaces.ServiceIdentifier;\nimport { ContainerContext } from '@quino/ui';\n\nexport function useService(serviceName: ServiceIdentifier): T {\n const { container } = useContext(ContainerContext);\n const [result] = useState(container.get(serviceName));\n return result;\n}\n","import { IPerformaI18n } from './IPerformaI18n';\nimport { useService } from '../ioc/hook/useService';\nimport { QuinoCoreServiceSymbols } from '@quino/core';\n\nexport const useI18n = (): IPerformaI18n =>\n useService(QuinoCoreServiceSymbols.II18N);\n","import * as React from 'react';\nimport { useMemo } from 'react';\nimport { IQuinoComponentProps, ObjectBookmark, Translation } from '@quino/ui';\nimport { tKey, TTranslationKey } from '../../lang/TranslationKeys';\nimport { Markdown } from '../Util/Markdown/Markdown';\nimport { getAspectOrDefault, getMetaProperty } from '@quino/core';\nimport {\n ITranslationKeyAspect,\n TranslationKeyAspectIdentifier,\n} from '../../meta/aspects/ITranslationKeyAspect';\nimport { ErrorMessage } from '../Util/ErrorMessage';\nimport { useI18n } from '../../lang/useI18n';\n\nexport const LocalizedLabel: React.FunctionComponent> = (\n props\n) => {\n const { element } = props;\n const metaProperty = getMetaProperty(element);\n\n const i18n = useI18n();\n\n const translationKeyAspect = useMemo(\n () => {\n return getAspectOrDefault(\n element,\n TranslationKeyAspectIdentifier\n );\n },\n [metaProperty]\n );\n\n const translationKey = translationKeyAspect && translationKeyAspect.key;\n\n if (!translationKey) {\n return (\n \n \n \n );\n }\n\n const customLiteralsKey = ('literal.CustomLiterals.' + translationKey) as TTranslationKey;\n\n if (!i18n.keyExists(customLiteralsKey)) {\n return (\n \n \n \n );\n }\n\n return (\n \n {i18n.t(customLiteralsKey)}\n \n );\n};\n","/**\n * The identifier for retrieving a translation key aspect.\n */\nimport { IMetaAspect } from '@quino/core';\n\nexport const TranslationKeyAspectIdentifier = 'ControlParameters';\n\n/**\n * Translation key aspect containing the key which should be used to search for a translation\n */\nexport interface ITranslationKeyAspect extends IMetaAspect {\n key: string;\n}\n","import { TTranslationKey } from './TranslationKeys';\nimport { useI18n } from './useI18n';\n\nexport const useTranslation = (\n key: TTranslationKey,\n params?: { [key: string]: any },\n fallback?: string\n): string => {\n const i18n = useI18n();\n return i18n.t(key, params, fallback);\n};\n","import React, { FunctionComponent } from 'react';\nimport { ISiteMapItem } from '../../navigation';\nimport { Button } from 'devextreme-react/button';\nimport { useTranslation } from '../../lang/useTranslation';\n\ninterface IProps {\n onNewRecord: (currentSiteMapItem?: ISiteMapItem) => void;\n}\n\nexport const DataListCreateButton: FunctionComponent = ({ onNewRecord }: IProps) => {\n const label = useTranslation('literal.CustomLiterals.DataList.New');\n\n return (\n onNewRecord()}\n icon={'add'}\n text={label}\n />\n );\n};\n","import * as React from 'react';\nimport { useState } from 'react';\nimport { Button } from 'devextreme-react/button';\nimport { LoadPanel } from 'devextreme-react/load-panel';\nimport { IQuinoMetaPanelExtensionProps, ObjectBookmark, useService } from '@quino/ui';\nimport { ILogger, QuinoCoreServiceSymbols } from '@quino/core';\nimport { ICustomActionService } from '../../api/ICustomActionService';\nimport { SHARED_SERVICE_IDENTIFIER } from '../../ioc/sharedIdentifiers';\nimport { ICustomAction } from '../../customActions/ICustomAction';\nimport { EntityActionEmphasis } from '../../meta/EntityAction/EntityActionEmphasis';\n\ninterface IOwnProps {\n entityAction: ICustomAction;\n onEntityActionExecuted?: () => void;\n}\n\nexport const PerformaMetaPanelEntityActionButton: React.FunctionComponent<\n IQuinoMetaPanelExtensionProps & IOwnProps\n> = (props) => {\n const customActionService = useService(\n SHARED_SERVICE_IDENTIFIER.ICUSTOMACTIONSERVICE\n );\n const logger = useService(QuinoCoreServiceSymbols.ILogger);\n const { bookmark, entityAction, onEntityActionExecuted } = props;\n\n const [isExecuting, setIsExecuting] = useState(false);\n\n if (bookmark instanceof ObjectBookmark) {\n const { metaClass, primaryKey } = bookmark.genericObject;\n\n const executeAction = async () => {\n if (primaryKey) {\n setIsExecuting(true);\n try {\n await customActionService.executeCustomActionAsync(\n entityAction.name,\n metaClass,\n primaryKey\n );\n } catch (e) {\n logger.logWarn(\n `The entity Action [${JSON.stringify(\n entityAction\n )}] did execute with errors [${JSON.stringify(e)}]`\n );\n setIsExecuting(false);\n onEntityActionExecuted && onEntityActionExecuted();\n } finally {\n setIsExecuting(false);\n onEntityActionExecuted && onEntityActionExecuted();\n }\n } else {\n logger.logWarn(\n `Could not execute entity Action [${JSON.stringify(\n entityAction\n )}] because no Primary key was defined`\n );\n }\n };\n\n return (\n <>\n \n \n \n );\n }\n\n return
;\n};\n","import * as React from 'react';\nimport { Button } from 'devextreme-react/button';\n\nexport interface ICustomFooterButton {\n caption: string;\n onClick: () => void;\n}\n\ninterface IProps {\n buttonProps: ICustomFooterButton;\n}\n\nexport const CustomFooterButton: React.FunctionComponent = ({ buttonProps }) => {\n return