{"version":3,"sources":["main.style.ts","theme.ts","utils/checkVersion.ts","utils/initTranslation.ts","locales/index.ts","locales/en/index.ts","App.style.ts","components/LoginHeader/LoginHeader.style.ts","store/user/user.actions.types.ts","store/user/user.actions.ts","store/user/user.selectors.ts","components/SessionExpiredModal/SessionExpiredModal.styled.tsx","components/SessionExpiredModal/SessionExpiredModal.tsx","icons/Help.tsx","icons/Logout.tsx","icons/ReleaseNotes.tsx","utils/restApplicationClient.ts","utils/axiosInstance.ts","components/LoginHeader/LoginHeader.tsx","utils/envHandler.ts","components/CustomLink/CustomLink.tsx","components/Form/Div/FormDiv.tsx","components/Form/Input/CustomInput.styled.tsx","components/Form/Input/CustomField.tsx","components/Form/Title/FormTitle.tsx","store/spinner/spinner.selectors.ts","utils/customRegex.ts","utils/customValidators.ts","utils/objectEquality.ts","containers/Login/LoginContainer.style.ts","enums/userRouteParameter.ts","containers/Login/LoginContainer.tsx","containers/ResetPassword/ResetPasswordContainer.style.ts","containers/ResetPassword/ResetPasswordContainer.tsx","components/ChangePasswordForm/ChangePasswordForm.tsx","layouts/login/routes.ts","containers/ChangePasswordContainer/ChangePasswordContainer.tsx","layouts/login/index.tsx","components/Form/ButtonContainer/ButtonContainer.tsx","components/Form/CilentData/EditData.tsx","components/CustomTooltip/SimpleTooltip.tsx","components/Form/Input/CustomCheckbox.tsx","components/Form/Input/CustomSelect.tsx","store/administrator/administrator.actions.types.ts","store/administrator/administrator.actions.ts","store/administrator/administrator.selectors.ts","store/client/client.actions.types.ts","store/client/client.actions.ts","store/client/client.selectors.ts","containers/AddAdministrator/AddAdministratorContainer.tsx","containers/AddClientContainer/addClientContainer.style.ts","containers/AddClientContainer/AddClientContainer.tsx","icons/Xtm.tsx","components/Form/Accordion/Accordion.style.ts","icons/Link.tsx","icons/LinkBroken.tsx","components/Form/Accordion/AccordionIcon.tsx","enums/roles.ts","components/Form/Accordion/XtmConnectAccordion/XtmConnectAccordion.tsx","store/project/project.actions.types.ts","store/project/project.actions.ts","store/project/project.selectors.ts","components/Form/Input/DraggableSelect/DraggableSelect.styled.ts","components/Form/Input/DraggableSelect/DraggableSelect.tsx","components/Form/ConnectedFields/ConnectedFields.styled.tsx","components/Form/ConnectedFields/LanguageMapping/LanguageMappingContainer.styled.tsx","components/Form/ConnectedFields/TemplatesAccordion.tsx","components/Form/ConnectedFields/ConnectedUserFields.tsx","enums/filter.ts","utils/checkRoles.ts","containers/AddUser/AddUserContainer.tsx","store/table/table.actions.types.ts","store/table/table.actions.ts","store/table/table.selectors.ts","utils/parseDate.ts","components/Table/CustomTable.style.ts","components/Table/Pagination.styled.tsx","components/Table/PaginationTransLabel.tsx","components/Table/Pagination.tsx","components/Table/TableEmpty/TableEmpty.style.ts","components/Table/TableEmpty/TableEmpty.tsx","components/Table/CustomTable.tsx","components/IconButtonLabel/IconButtonLabel.style.ts","components/IconButtonLabel/IconButtonLabel.tsx","components/TableToolbar/TableToolbar.style.ts","components/TableToolbar/TableToolbar.tsx","containers/Administrators/AdministratorsContainer.tsx","containers/Clients/ClientsContainer.tsx","icons/Kentico.tsx","components/Form/Accordion/ProjectConnectAccordion/ProjectConnectAccordion.tsx","components/CustomTooltip/CustomTooltip.tsx","components/CustomTooltip/CustomTooltip.styled.tsx","components/Form/Input/CustomAutocomplete.tsx","components/Form/ConnectedFields/ConnectedProjectFields.tsx","components/Form/ConnectedFields/LanguageMapping/LanguageMappingContainer.tsx","containers/ProjectFormContainer/ProjectFormContainer.tsx","containers/Projects/ProjectsContainer.tsx","store/user/users.selectors.ts","containers/Users/UsersContainer.tsx","layouts/main/routes.ts","components/Navbar/Navbar.style.ts","components/Navbar/Navbar.tsx","layouts/main/index.tsx","utils/browserHistory.ts","store/notify/notify.actions.types.ts","store/notify/notify.actions.ts","components/NotifyAlert/NotifyAlert.tsx","App.tsx","serviceWorker.ts","utils/checkProjectValidation.ts","store/error/error.epic.ts","store/administrator/administrator.epics.ts","store/administrator/administrator.reducer.ts","store/client/client.epics.ts","store/client/client.reducer.ts","store/notify/notify.reducer.ts","store/project/project.epics.ts","store/project/project.reducer.ts","store/spinner/spinner.actions.types.ts","store/spinner/spinner.actions.ts","store/spinner/spinner.epics.ts","store/spinner/spinner.reducer.ts","store/table/table.epics.ts","store/table/table.reducer.ts","store/user/user.epics.ts","store/user/user.reducer.ts","store/index.ts","index.tsx"],"names":["mainStyles","css","_templateObject","_taggedTemplateLiteral","theme","createMuiTheme","overrides","MuiSvgIcon","root","padding","MuiTablePagination","toolbar","background","MuiButton","textTransform","fontWeight","MuiTabs","backgroundColor","indicator","height","MuiFormControl","marginBottom","marginTop","MuiTableSortLabel","color","MuiTableCell","head","fontSize","body","stickyHeader","MuiTableRow","MuiTableContainer","width","MuiTab","opacity","minWidth","MuiAppBar","display","flexDirection","alignItems","boxShadow","justifyContent","MuiTextField","MuiSelect","MuiInputBase","MuiOutlinedInput","adornedStart","paddingLeft","inputMarginDense","paddingTop","paddingBottom","marginDense","palette","primary","main","contrastText","light","secondary","text","clearCaches","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee2","wrap","_context2","prev","next","window","location","reload","caches","keys","sent","forEach","_ref2","_callee","key","_context","delete","stop","_x","apply","arguments","t0","console","error","checkVersion","_ref3","_callee3","currentVersion","metaVersion","_context3","process","fetch","json","version","abrupt","resources","en","translation","common","client","table","administrator","validator","auth","users","projects","i18n","i18next","initTranslation","use","LanguageDetector","initReactI18next","init","lng","fallbackLng","interpolation","escapeValue","appStyle","loginHeaderStyle","title","img","_templateObject2","logoContainer","_templateObject3","HeaderButton","styled","Button","_templateObject4","HeaderLogoutButton","_templateObject5","UserActionTypes","verifyPassToken","createAction","verifyPassTokenSuccess","verifyPassTokenError","changePassword","changePasswordSuccess","changePasswordError","changeUserPassword","changeUserPasswordSuccess","changeUserPasswordError","loginUser","loginUserSuccess","loginUserError","logoutUser","logoutUserSuccess","logoutUserError","getUsersByClientId","getUsersByClientIdSuccess","getUsersByClientIdError","resetPassword","resetPasswordSuccess","resetPasswordError","resetUserPassword","resetUserPasswordSuccess","resetUserPasswordError","verifyToken","verifyTokenSuccess","verifyTokenError","refreshTokenSuccess","getAllUsersError","getAllUsersSuccess","createUser","createUserSuccess","createUserError","usersPageable","usersPageableSuccess","usersPageableError","editUser","editUserSuccess","editUserError","getUserById","getUserByIdSuccess","getUserByIdError","clearUser","clearUserErrors","xtmConnect","xtmConnectError","xtmConnectSuccess","xtmConnectUser","xtmConnectUserError","xtmConnectUserSuccess","xtmGetCustomers","xtmGetCustomersError","xtmGetCustomersSuccess","xtmGetTemplates","xtmGetTemplatesError","xtmGetTemplatesSuccess","xtmGetCustomersById","xtmGetCustomersByIdError","xtmGetCustomersByIdSuccess","xtmGetConnectData","xtmGetConnectDataError","xtmGetConnectDataSuccess","getDefaultUserLanguages","getDefaultUserLanguagesSuccess","getDefaultUserLanguagesError","clearDefaultUserLanguages","clearXtmTemplates","sessionExpired","showSessionExpired","hideSessionExpired","getAuthSelector","createSelector","state","user","getVerifyFinishSelector","verifyFinished","finished","getUserDataSelector","data","roles","getUserErrorsSelector","errors","getUserSelector","getXtmAuthorizationIdSelector","xtmAuthorizationId","authorizationId","getXtmCustomersSelector","customers","getXtmTemplatesSelector","templates","Array","isArray","length","undefined","getXtmConnectDataSelector","_ref4","connectData","getDefaultUserLanguagesSelector","defaultUserLanguages","languages","getSessionExpiredSeletor","_ref5","ModalDropdown","div","ModalWindow","ModalLogoBar","ModalTextDiv","SessionExpiredModal","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","args","_key","call","concat","handleClick","_this$props","props","setSessionExpired","logout","_createClass","value","_this$props2","this","t","visibility","jsx","src","Typography","variant","onClick","Component","connect","dispatch","payload","withTranslation","Help","React","createElement","viewBox","fill","xmlns","d","Logout","ReleaseNotes","RestApplicationClient","httpClient","options","request","method","url","uriEncoding","_createAdministrator","createAdministrator","_x2","toString","queryParams","administratorId","updateAdministrator","_templateObject6","_templateObject7","authRequest","_templateObject8","_templateObject9","_templateObject10","_createClient","createClient","_x3","_x4","_templateObject11","_templateObject12","_templateObject13","clientId","_templateObject14","updateClient","_templateObject15","_templateObject16","_templateObject17","xtmProject","_templateObject18","activeProjectSearch","_templateObject19","xtmCustomerId","_templateObject20","frontendIds","_templateObject21","_templateObject22","_templateObject23","_templateObject24","jobsErrorCodeIgnoreDTO","_templateObject25","_templateObject26","jobId","_templateObject27","_templateObject28","connectRequest","_templateObject29","_templateObject30","_templateObject31","_templateObject32","_templateObject33","kontentScheduledTime","_templateObject34","_templateObject35","project_id","_templateObject36","_templateObject37","_templateObject38","kontentProjectId","_templateObject39","_templateObject40","kontentItemsSearchDTO","_templateObject41","_templateObject42","_templateObject43","_templateObject44","snippet_identifier","_templateObject45","_templateObject46","taxonomy_group_identifier","_templateObject47","type_identifier","_templateObject48","_templateObject49","_templateObject50","projectId","_templateObject51","_templateObject52","_templateObject53","_createProject","createProject","_x5","_x6","_templateObject54","_templateObject55","_templateObject56","_templateObject57","_templateObject58","_templateObject59","_templateObject60","_templateObject61","_templateObject62","_updateProject","updateProject","_x7","_x8","_x9","_templateObject63","rawBody","_templateObject64","_templateObject65","_changePassword","_x10","_x11","_templateObject66","_templateObject67","_templateObject68","_templateObject69","_templateObject70","filteringParamsDTO","_templateObject71","_templateObject72","_templateObject73","_templateObject74","_templateObject75","_templateObject76","translateRequest","_templateObject77","_templateObject78","_createUser","_x12","_x13","_templateObject79","_templateObject80","_templateObject81","_templateObject82","_templateObject83","_templateObject84","userId","_templateObject85","updateUser","_templateObject86","_templateObject87","_templateObject88","_templateObject89","_templateObject90","xtmConnectRequest","_templateObject91","_templateObject92","_templateObject93","_templateObject94","_templateObject95","_templateObject96","_templateObject97","_templateObject98","_templateObject99","template","result","i","encodeURIComponent","AxiosHttpClient","axios","requestConfig","config","params","target","source","hasOwnProperty","assign","copyFn","then","axiosResponse","originalData","AxiosRestApplicationClient","_RestApplicationClien","baseURL","axiosInstance","create","defaults","Axios","interceptors","headers","accessToken","localStorage","getItem","refreshToken","includes","Authorization","paramsSerializer","parameters","Object","map","join","stringifyParameters","response","ttl","setItem","String","api","LoginHeader","_PureComponent","handleOpenLink","open","handleLogout","_getAllEnvironment","_env_","REACT_APP_HELP_URL","REACT_APP_CHANGELOG_URL","token","AppBar","position","disableTouchRipple","PureComponent","CustomLink","StyledDiv","wide","linkProps","Link","FormDiv","center","Fragment","children","CustomDraggableContainer","InputDiv","column","StyledSelect","Select","StyledTextField","TextField","CustomAutocompleteTypography","CustomTypography","customInputStyles","label","outlineError","textError","textErrorNoMargin","checkbox","radio","AutocompleteChipDefaultSpan","span","AutocompleteTextField","draggable","ErrorDiv","FieldDiv","CheckboxDiv","CustomInputError","CustomEndAdornment","CustomStyledCheckbox","Checkbox","_ref6","disabled","CustomField","input","textFieldProps","disableAutocomplete","_ref$meta","meta","touched","tooltip","shouldDisplayError","useTranslation","renderTextFieldComponent","textComponent","inputProps","_objectSpread","autoComplete","type","margin","Tooltip","component","Box","FormTitle","StyledTypography","align","fetchSpinnerState","spinner","getFetchSpinnerSelector","fetchSpinner","getTemplateSpinnerSelector","templateSpinner","getCustomerSpinnerSelector","customerSpinner","getconnectDataSpinnerSelector","connectDataSpinner","getConnectToXtmSpinnerSelector","connectToXtmSpinner","getProjectSpinnerSelector","_ref7","connectToCMSSpinner","_ref8","defaultUserLanguagesSpinner","_ref9","projectSpinner","getKenticoDataSpinnerSelector","_ref10","kenticoDataSpinner","getKenticoConnectSpinnerSelector","_ref11","kenticoConnectSpinner","EMAIL_REGEX","PASSWORD_REGEX","ISNUMBER","PREFIX_REGEX","required","isString","requiredAutocomplete","email","test","password","isNumber","isAllowedPrefix","composeValidators","validators","reduce","fetchValidator","previousValue","fetchValidatorObject","values","objectA","objectB","objectAProperties","getOwnPropertyNames","objectBProperties","currentValue","isObjectEqual","optionalValidator","UserRouteParameterEnum","loginContainerStyles","button","form","LoginContainer","unsubscribe","onSubmit","setState","submitValues","login","createForm","subscribe","_this$props$errors","Form","validate","subscription","pristine","submitting","render","_errors$login","handleSubmit","Field","name","CircularProgress","size","to","resetPasswordContainerStyles","ResetPasswordContainer","ChangePasswordForm","useDispatch","useSelector","newPassword","resetPasswordToken","confirmPassword","comparePass","loginRoutes","pathname","exact","useLocation","URLSearchParams","search","get","useEffect","verifyPassFinished","LoginLayoutComponent","route","Route","path","ButtonContainerDiv","ButtonLink","ButtonContainer","backTo","style","textDecoration","Container","Date","p","EditData","createdAt","modifiedAt","moment","format","useStyles","makeStyles","arrow","black","tooltipPlacementRight","marginLeft","tooltipPlacementLeft","marginRight","tooltipPlacementTop","tooltipPlacementBottom","SimpleTooltip","_objectWithoutProperties","_excluded","classes","typography","typographyBox","textAlign","icon","CustomCheckbox","tooltipText","checkboxTooltipText","className","placement","InfoIcon","CustomSelect","_this$props$selectPro","_this$props$selectPro2","_this$props$meta","rows","onChange","selectProps","Boolean","native","placeholder","row","index","AdministratorActionTypes","createAdministratorError","createAdministratorSuccess","clearAdministratorErrors","getAdministratorsPageable","getAdministratorsPageableSuccess","getAdministratorsPageableError","getAdministratorById","getAdministratorByIdSuccess","getAdministratorByIdError","clearAdministrator","editAdministrator","editAdministratorSuccess","editAdministratorError","getAdministratorErrorsSelector","getAdministratorsPageableSelector","administratorsPageable","administrators","getAdministratorSelector","ClientActionTypes","getAllClients","getAllClientsError","getAllClientsSuccess","createClientSuccess","createClientError","getClientsPageable","getClientsPageableSuccess","getClientsPageableError","editClient","editClientSuccess","editClientError","getClientById","getClientByIdSuccess","getClientByIdError","clearClient","clearClientErrors","clientStateSelector","getClientsPageableSelector","clientsPageable","getAllClientsSelector","clients","getAllActiveClientsSelector","filter","status","getClientErrorsSelector","getClientSelector","AddAdministratorContainer","match","id","_this$props3","clientName","_this2","_this$props4","initialValues","clientUUID","_this2$state","_this2$state$submitVa","_this2$state2","_this2$state2$submitV","paddingX","parseClientSelect","withRouter","addClientContainerStyles","heading","btnContainer","useRouteMatch","_useState","useState","_useState2","_slicedToArray","setSubmitValues","submitFailed","stateErrors","XTM","accordionStyles","summary","details","accordionError","accordionErrorText","accordionLabel","buttonIcon","AccordionDiv","AccordionButton","LinkBroken","Roles","AccordionIcon","connected","ErrorIcon","renderIcon","XtmConnectAccordion","_this$props$match$par","isNewPassword","xtmPassword","connectionParameters","userUuidToCopyPassword","edit","xtmParameters","duplicate","xtmUrl","xtmCompanyName","username","getConnectData","previousProps","_this$props3$errors","_this$props3$match$pa","xtmUsername","rest","_this$props4$errors","Accordion","AccordionSummary","expandIcon","ExpandMoreIcon","AccordionDetails","fullWidth","ProjectActionTypes","getProjectsPageable","getProjectsPageableSuccess","getProjectsPageableError","getContentTypes","getContentTypesSuccess","getContentTypesError","getContentElements","getContentElementsSuccess","getContentElementsError","getWorkflowSteps","getWorkflowStepsSuccess","getWorkflowStepsError","getWebhooks","getWebhooksSuccess","getWebhooksError","connectToKentico","connectToKenticoSuccess","connectToKenticoError","getApiKey","getApiKeySuccess","getApiKeyError","addProject","addProjectSuccess","addProjectError","editProject","editProjectSuccess","editProjectError","getProjectById","getProjectByIdSuccess","getProjectByIdError","clearProjectErrors","getKenticoLanguages","getKenticoLanguagesSuccess","getKenticoLanguagesError","getXtmLanguages","getXtmLanguagesSuccess","getXtmLanguagesError","GetProjectsByClientId","GetProjectsByClientIdSuccess","GetProjectsByClientIdError","updateFormProject","clearProjectFormAll","allFormObservers","projectStateSelector","project","getProjectsPageableSelector","projectsPageable","getProjectErrorsSelector","getProjectFormSelector","getClientProjectsSelector","clientProjects","DraggableSelectChip","Chip","DraggableSelectEllipsisContainer","DraggableSelectEllipsis","DraggableSelectArrowContainer","DraggableSelectIconButton","IconButton","DraggableSelectOptionCheckbox","DraggableSelectInputContainer","DraggableSelectInput","InputBase","DraggableSelectChipContainer","DraggableSelectDataContainer","opened","hovered","DraggableSelectSpinnerContainer","_ref12","DraggableSelectDefaultChip","DraggableSelectActionButton","DraggableSelectButtonContainer","DraggableSelectAutocompletePaper","Paper","_ref13","DraggableSelectPopper","Popper","_ref14","DraggableSelectSelectClasses","autocomplete","DraggableSelect","inputContainerRef","createRef","arrowRef","draggableContextRef","chipElements","draggableContextWidth","handleChange","event","onHandleChange","elements","_this$state","anchorEl","canOpen","isDragged","currentTarget","handleClose","stopPropagation","setTimeout","onChipDelete","_input$value","handleChipDelete","record","onSelectAll","handleSelectAll","onClearAll","handleClearAll","onDragEnd","destination","_this$props5","_this$props5$input","customOnChange","handleDragEnd","filteredData","_filteredData$splice","splice","removed","onDragStart","checkIfOverflowed","_this$chipElements","some","node","offsetWidth","handleInputMouseEvent","isHovered","checkChipContainerHeight","_this$chipElements$","_this$chipElements$$p","_this$chipElements2","chipParentHeight","parentElement","offsetHeight","count","chipTotalHeight","isOpened","_this$draggableContex","_this$arrowRef","_this$chipElements3","draggableElement","current","arrowElement","from","querySelectorAll","_popperElement$offset","_this$props6","noOptionsText","allowDragAndDrop","_this$state2","inputValue","popperElement","popperWidth","Number","onMouseEnter","onMouseLeave","ref","DragDropContext","Droppable","droppableId","direction","provided","innerRef","Draggable","draggableId","isDragDisabled","draggableProps","dragHandleProps","deleteIcon","CloseIcon","onDelete","ArrowDropDownIcon","transform","Autocomplete","PaperComponent","multiple","onClose","disablePortal","disableCloseOnSelect","getOptionLabel","option","getOptionSelected","renderInput","InputProps","endAdornment","SearchIcon","autoFocus","renderOption","selected","checked","ConnectedFieldsCheckboxGroup","CustomLanguageMappingFieldContainer","CustomLanguageMappingContainer","fieldset","CustomLanguageMappingLegend","legend","CustomLanguageMappingButton","CustomLanguageMappingRemoveButton","TemplatesAccordion","mapTemplatesToRows","xtmTemplateId","renderTemplateFields","initialTemplates","FieldArray","initialValue","fields","_customers$index","_customers$index2","ViewListIcon","ConnectedUserFields","handleCustomerChange","getTemplates","selectedCustomers","xtmAuthId","xtmCustomerIds","customer","handleOnCustomerChange","mutators","valueIds","removedIndex","findIndex","remove","push","handleSelectAllCustomers","previousTemplates","getState","xtmTemplates","previousCustomers","update","previousCustomerId","templateIndex","handleClearAllCustomers","previousCustomerIndexes","removeBatch","swap","mapCustomersToRows","mapAssignedProjects","initialProjects","assignedProjectIds","assignedProjectId","find","clientProject","kenticoProjectName","getProjectsByClientId","initialCustomers","projectsSpinner","OnChange","defaultValue","marginY","defaultLanguages","clearTemplates","OrderDirection","checkRoles","routeRoles","userRoles","previous","AddUserContainer","onClientChange","_user$xtmProperties$x","shouldConnectedFieldsRender","xtmProperties","xtmCustomers","change","customerIndex","customerId","orderNumber","templateId","projectIds","editValues","mapCustomers","xtmCustomer","customerTemplates","customerTemplate","_user$xtmProperties$x2","_user$userSpecificati","_user$xtmProperties$d","_user$xtmProperties$d2","_this$props6$match$pa","currentUser","isClientAdmin","ADMIN_CLIENT","firstName","userSpecification","lastName","interfaceLanguage","daysToDefaultDueDate","allowDueDateChange","notifyWhenTranslationImported","notifyWhenXTMWorkflowChange","xtmProjectNamePrefix","daysAfterRemoveArchivedOrDeletedFiles","daysAfterRemoveCancelledJobs","arrayMutators","TableActionTypes","setPaginationOptions","setPaginationOptionsNoEmit","clearPaginationOptions","setPaginationSearch","setPaginationAction","setPaginationSearchSpinner","getPaginationOptionsSelector","paginationOptions","getPaginationSearchSpinnerSelector","searchSpinner","parseDateBulk","contentParsed","content","element","createdAtParsed","modifiedAtParsed","parseDate","customTableStyle","container","iconContainer","spinnerCell","CustomPaginationContainer","td","CustomTableRow","TableRow","CustomPaginationActionsContainer","CustomPaginationSelect","PaginationTransLabel","Trans","i18nKey","CustomPagination","onChangePage","onChangeRowsPerPage","page","rowsPerPage","columns","pages","Math","ceil","colSpan","rowOption","MenuItem","Pagination","tableEmptyStyles","TableEmpty","SpeakerNotesOffIcon","CustomTable","onChangeOrder","property","_this$props$paginatio","orderBy","order","isAsc","ASC","DESC","paginationProps","pageable","_this$props$paginatio2","totalElements","nativeSelect","parseColumn","renderEmpty","fetchSpinnerOverride","paginationAction","onEdit","onDuplicate","displayActionsLabel","_this$props$paginatio3","TableContainer","Table","TableHead","headCell","TableCell","sortDirection","TableSortLabel","active","TableBody","hover","header","EditIcon","PersonAddIcon","TableFooter","mapStateToProps","mapDispatchToProps","CustomTableContainer","iconButtonLabelStyle","Text","IconButtonLabel","buttonLabelKey","onAdd","AddCircleIcon","tableToolbarStyles","TableToolbar","searchValue","debounceFn","throttleFn","onInputChange","persist","throttle","debounce","setSearch","callbackFunc","limit","wait","timeout","clearTimeout","startAdornment","TestTable","AdministratorsContainer","history","ClientsContainer","Kentico","ProjectConnectAccordion","unsubscribeForm","formValues","onConnect","managementApiKey","deliveryApiKey","isConnected","connectSubscription","subscribeActionAfter","_this2$form$getFieldS","getFieldState","setConnection","connectErrorSubscription","apiKeySubscription","action","_payload","connectedData","kenticoSpinner","isProjectIdEditable","clientForm","Name","isOverflown","checkIfOverflown","scrollHeight","scrollWidth","typographyProps","maxLines","textColor","NameTypographyWidth","lines","CustomTooltipTypography","CustomAutocomplete","_React$Component","renderTags","getTagProps","tag","renderCustomTags","renderAdornment","multi","_this$props3$meta","CustomTooltip","ConnectedProjectFields","usersForWebhooksRef","_getFieldState","_getFieldState$value","webhooks","workflowSteps","contentTypes","contentElements","_this$props$form","rememberContext","propagateRepeat","isRichTextSelected","visited","LanguageMappingContainer","handleAddLanguageMapping","xtmLanguage","kenticoLanguage","setFilteredLanguages","handleRemoveLanguageMapping","onKenticoLanguageChange","filteredLanguages","_form$getFieldState","kenticoLanguages","languageMappingFields","_form$getFieldState2","choosedKenticoLanguages","language","_languageMappingField","_form$getFieldState3","_languageMappingField2","languageMappingField","_this3","xtmLanguages","getKenticoLanguageValue","ProjectFormContainer","parsedData","parseSubmitFormData","clientChanged","_this$props$clientFor","assignedUserIds","setKontentProjectId","clientsSubscription","usersSubscription","kenticoConnectSubscription","_this2$form$getFieldS2","_this2$props","_this2$props$clientFo","_","previousState","_this$props$clientFor2","shouldClearDetails","contentTypeIds","contentElementTypes","handledWorkflowIds","translatedContentWorkflowStepId","webhookIds","usersForWebhooks","languageMapping","initialize","parseFormData","translate","field","clearDetails","_foundClient$clientNa","_foundClient$id","_project$kontentProje","_project$languageMapp","_this$props3$clientFo","foundClient","workflowStep","assignedClient","projectName","_project$contentEleme","codeName","_project$contentTypeI","contentId","usersAssigned","_project$assignedUser","_project$handledWorkf","stepId","richTextContext","propagateRepeatTranslations","_project$webhookIds","webhookId","_ref15","_project$usersForWebh","_ref16","userUUID","_ref17","_ref18","kontentLanguageName","kontentLanguageCode","xtmLanguageCode","xtmLanguageName","_project$assignedClie","_project$workflowStep","_project$usersForWebh2","_project$languageMapp2","parseAutocompleteFieldToValue","assignedUsersUUID","handledWorkflowStepIds","_ref19","_ref20","requiredFields","_this$props4$clientFo","_values$field","fieldKey","_values$fieldKey","_ref21","_ref22","editableKontentProjectId","_ref23","_ref24","_ref25","_ref26","_ref27","_ref28","_ref29","projectData","ProjectsTable","ProjectsContainer","getUsersPageableSelector","UserTable","UsersContainer","mainRoutes","ADMIN_XTM","navbar","routeTextKey","AddClientContainer","navbarStyles","routeValues","Navbar","pagesToRender","setTabValue","startsWith","handleTabChange","_this$props$data","Tabs","Tab","MainLayoutComponent","Redirect","Switch","renderRoute","isAuth","createBrowserHistory","NotificationActionTypes","showError","showSuccessful","closeAlert","displayed","withSnackbar","notifications","store","notify","_useSnackbar","useSnackbar","enqueueSnackbar","closeSnackbar","message","_ref$options","reason","myKey","onExited","_event","_toConsumableArray","dp","notistackRef","onClickDismiss","App","SnackbarProvider","ClearIcon","NotifyAlert","Router","browserHistory","hostname","ProjecValidationErrorEnum","ActionSourceType","administratorEpics","combineEpics","action$","pipe","ofType","switchMap","of","catchError","skipMessage","getAllAdministrators","actions$","getAdministrator","initState","administratorReducer","createReducer","builder","addCase","clientEpics","getAllClients$GET$api_client_pageable","getAllClients$GET$api_client","getClient","clientReducer","notifyReducer","getTime","floor","random","projectEpics","getAllProjects","state$","getWebhookList","connectedProjectId","getWorkflowStepList","_ref12$payload","connectKontentProject","_ref21$payload","getContentTypesListByKontentProject","getContentElementTypesList","getProjectLanguageListByKontentProject","getLanguages","_ref32","_ref33","getProject","_ref34","getAllProjectsByClientId","_ref35","_ref36","zip","mergeMap","_ref30","_ref31","observer","selectedClientId","dataFetchedCount","projectReducer","kenticoConnect","addMatcher","isAnyOf","_ref8$payload$error","errorMessage","errorCode","isProjectIdError","SpinnerActionTypes","setFetchSpinner","setTemplateSpinner","setCustomerSpinner","setConnectDataSpinner","setConnectToXtmSpinner","setConnectToCMSSpinner","setDefaultUserLanguageSpinner","setProjectSpinner","setKenticoDataSpinner","setKenticoConnectSpinner","spinnerEpics","debounceTime","endsWith","spinnerReducer","tableEpics","_state$$value$table","dispatchAction","_state$$value$table$p","sort","EMPTY","tableReducer","userEpics","authenticateAdmin","tap","removeItem","sendResetPasswordEmailForAdmin","pluck","delayWhen","_ref5$ttl","timer","verifyResetPasswordToken","getAllUsers","getUser","res","connectToXtm","_ref38","getXTMCustomers$GET$api_xtm_customers","_ref39","_ref40","_ref41","getXTMTemplates","_ref42","_ref43","_ref44","getXTMCustomersForExistingUser","_ref45","_ref46","_ref47","getXTMConnectionParameters","_ref48","_ref49","reconnectToXtm","_ref37","sendResetPasswordEmail","href","_ref50","getAllUsersList","_ref51","_ref52","_ref53","_ref54","userReducer","AvailableErrorActionTypes","errorEpics","actionType","_String","_ref2$payload","_ref2$payload$type","COMMON","errorData","errorArguments","errorTypes","split","argument","CONTENT_TYPES","WORKFLOWS","WEBHOOKS","USERS","_store$getState$proje","checkProjectValidation","appReducer","combineReducers","epicMiddleware","createEpicMiddleware","dependencies","configureStore","reducer","middleware","subscribeActionMiddleware","devTools","run","_render","ReactDOM","StrictMode","Provider","ThemeProvider","Global","styles","document","getElementById","Sentry","dsn","_window","_window$_env_","REACT_APP_SENTRY_DSN","environment","addEventListener","navigator","serviceWorker","ready","registration","unregister","catch"],"mappings":"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","file":"static/js/main.9ac7cfe2.chunk.js","sourcesContent":["import { css, SerializedStyles } from '@emotion/core';\n\nexport const mainStyles = (): SerializedStyles => css`\n *,\n *:before,\n *:after {\n box-sizing: border-box;\n font-family: 'Roboto', sans-serif;\n }\n\n html {\n display: table;\n height: 100%;\n width: 100%;\n margin: 0;\n padding: 0;\n }\n\n body {\n display: table-cell;\n width: 100%;\n margin: 0;\n padding: 0;\n font-weight: 400;\n font-family: Lato, arial, sans-serif;\n text-rendering: optimizeLegibility;\n font-smooth: always;\n -webkit-font-smoothing: antialiased;\n font-kerning: auto;\n background: #eff3f7;\n }\n\n #root {\n width: 100%;\n height: 100%;\n }\n\n a:link {\n color: #0c93e4;\n }\n\n a:visited {\n color: #0c93e4;\n }\n\n @supports (-moz-appearance: none) {\n #root {\n height: 100vh;\n }\n }\n`;\n","import { createMuiTheme } from '@material-ui/core';\n\nexport const theme = createMuiTheme({\n overrides: {\n MuiSvgIcon: {\n root: {\n padding: '2px',\n },\n },\n MuiTablePagination: {\n toolbar: {\n background: '#fff',\n },\n },\n MuiButton: {\n root: {\n textTransform: 'none',\n fontWeight: 400,\n },\n },\n MuiTabs: {\n root: {\n backgroundColor: '#fff',\n },\n indicator: {\n backgroundColor: '#00A4E4',\n height: '4px',\n },\n },\n MuiFormControl: {\n root: {\n marginBottom: '4px',\n marginTop: '8px',\n },\n },\n MuiTableSortLabel: {\n root: {\n color: '#333333 !important',\n },\n },\n MuiTableCell: {\n head: {\n fontSize: '15px',\n fontWeight: 700,\n background: '#fff',\n padding: '7px 16px',\n },\n body: {\n padding: '3px 16px 4px 16px',\n color: '#333333 !important',\n },\n stickyHeader: {\n backgroundColor: '#fff',\n },\n },\n MuiTableRow: {\n root: {\n backgroundColor: '#fff',\n '&.MuiTableRow-hover:hover': {\n backgroundColor: '#ccedfa',\n },\n },\n },\n MuiTableContainer: {\n root: {\n width: 'auto',\n },\n },\n MuiTab: {\n root: {\n textTransform: 'none',\n fontSize: '15px',\n opacity: '1 !important',\n minWidth: '80px !important',\n padding: '6px 19px',\n },\n },\n MuiAppBar: {\n root: {\n display: 'flex',\n flexDirection: 'row',\n alignItems: 'flex-start',\n padding: '16px 21px 20px 16px',\n boxShadow: 'none',\n justifyContent: 'space-between',\n },\n },\n MuiTextField: {\n root: {\n background: '#fff',\n },\n },\n MuiSelect: {\n root: {\n background: '#fff',\n },\n },\n MuiInputBase: {\n root: {\n color: '#333',\n fontSize: '14px',\n },\n },\n MuiOutlinedInput: {\n adornedStart: {\n paddingLeft: '0px',\n },\n inputMarginDense: {\n paddingTop: '8px',\n paddingBottom: '8px',\n },\n root: {\n height: '32px',\n },\n marginDense: {\n padding: '2.815px 0 !important',\n },\n },\n },\n palette: {\n primary: {\n main: '#2e3645',\n contrastText: '#FFFFFF',\n light: '5EB555',\n },\n secondary: {\n main: '#0096eb',\n },\n text: {\n secondary: '#6F8294',\n },\n },\n});\n","/* eslint-disable no-console */\n\n/**\n * Clears workers cache and force reloads page\n */\nconst clearCaches = async (): Promise => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (window.location.reload as any)(true);\n if (caches) {\n try {\n const keys = await caches.keys();\n keys.forEach(async (key) => {\n await caches.delete(key);\n });\n } catch {\n console.error(\"Couldn't clear worker cache\");\n }\n }\n};\n\n/**\n * Compares app version with currently deployed version and clears cache if needed\n */\nexport const checkVersion = async (): Promise => {\n const currentVersion = process.env.REACT_APP_VERSION;\n let metaVersion: string | undefined;\n try {\n metaVersion = (await (await fetch('./meta.json')).json()).version;\n } catch {\n console.error(\"Couldn't fetch meta.json\");\n return;\n }\n\n if (currentVersion !== metaVersion) {\n await clearCaches();\n }\n};\n","import i18next from 'i18next';\nimport LanguageDetector from 'i18next-browser-languagedetector';\n// eslint-disable-next-line id-match\nimport { initReactI18next } from 'react-i18next';\nimport locales from 'locales';\n\nconst resources = locales;\n\nconst i18n = i18next;\n\n/**\n * Initializes i18next module with translation from src/locales\n */\nexport function initTranslation(): void {\n i18n\n .use(LanguageDetector)\n .use(initReactI18next)\n .init({\n resources,\n lng: 'en',\n fallbackLng: 'en',\n interpolation: {\n escapeValue: false,\n },\n });\n}\n\nexport default i18n;\n","import en from './en';\n\nconst locales = {\n en,\n};\n\nexport default locales;\n","import administrator from './administrator.json';\nimport auth from './auth.json';\nimport client from './client.json';\nimport common from './common.json';\nimport table from './table.json';\nimport users from './users.json';\nimport validator from './validator.json';\nimport projects from './projects.json';\n\nconst en = {\n translation: {\n common,\n client,\n table,\n administrator,\n validator,\n auth,\n users,\n projects,\n },\n};\n\nexport default en;\n","import { css } from '@emotion/core';\n\nexport const appStyle = css`\n text-align: center;\n display: flex;\n flex-direction: column;\n height: 100%;\n`;\n","import { css } from '@emotion/core';\nimport styled from '@emotion/styled';\nimport { Button } from '@material-ui/core';\n\nconst loginHeaderStyle = {\n title: css`\n font-size: 17px;\n padding-top: 15px;\n `,\n img: css`\n width: auto;\n height: 29px;\n `,\n logoContainer: css`\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n `,\n};\n\nexport const HeaderButton = styled(Button)`\n font-size: 14px !important;\n font-weight: 400 !important;\n color: #fff !important;\n transition: opacity 0.2s !important;\n\n &:hover {\n opacity: 0.8;\n }\n\n svg {\n width: 20px;\n height: 20px;\n padding: 0 4px 0 0;\n }\n`;\n\nexport const HeaderLogoutButton = styled(HeaderButton)`\n color: #219ce6 !important;\n font-size: 14px !important;\n font-weight: 500 !important;\n font-weight: bold !important;\n`;\n\nexport default loginHeaderStyle;\n","export const UserActionTypes = {\n Login: 'USER_LOGIN',\n LoginSuccess: 'USER_LOGIN_SUCCESS',\n LoginError: 'USER_LOGIN_ERROR',\n Logout: 'USER_LOGOUT',\n LogoutSuccess: 'USER_LOGOUT_SUCCESS',\n LogoutError: 'USER_LOGOUT_ERROR',\n ResetPassword: 'USER_RESET_PASSWORD',\n ResetPasswordSuccess: 'USER_RESET_PASSWORD_SUCCESS',\n ResetPasswordError: 'USER_RESET_PASSWORD_ERROR',\n ResetUserPassword: 'USER_RESET_USER_PASSWORD',\n ResetUserPasswordSuccess: 'USER_RESET_USER_PASSWORD_SUCCESS',\n ResetUserPasswordError: 'USER_RESET_USER_PASSWORD_ERROR',\n VerifyToken: 'USER_VERIFY_TOKEN',\n VerifyTokenSuccess: 'USER_VERIFY_TOKEN_SUCCESS',\n VerifyTokenError: 'USER_VERIFY_TOKEN_ERROR',\n RefreshTokenSuccess: 'REFRESH_USER_TOKEN_SUCCESS',\n ChangePasswordSuccess: 'CHANGE_PASSWORD_SUCCESS',\n ChangePasswordError: 'CHANGE_PASSWORD_ERROR',\n ChangePassword: 'CHANGE_PASSWORD',\n ChangeUserPasswordSuccess: 'CHANGE_USER_PASSWORD_SUCCESS',\n ChangeUserPasswordError: 'CHANGE_USER_PASSWORD_ERROR',\n ChangeUserPassword: 'CHANGE_USER_PASSWORD',\n verifyPassTokenSuccess: 'VERIFY_PASS_TOKEN_SUCCESS',\n verifyPassTokenError: 'VERIFY_PASS_TOKEN_ERROR',\n verifyPassToken: 'VERIFY_PASS_TOKEN',\n GetAllUsers: 'GET_ALL_USERS',\n GetAllUsersError: 'GET_ALL_USERS_ERROR',\n GetAllUsersSuccess: 'GET_ALL_USERS_SUCCESS',\n CreateUser: 'CREATE_USER',\n CreateUserSuccess: 'CREATE_USER_SUCCESS',\n CreateUserError: 'CREATE_USER_ERROR',\n UsersPageable: 'USERS-PAGEABLE',\n UsersPageableError: 'USERS_PAGEABLE_ERROR',\n UsersPageableSuccess: 'USERS_PAGEABLE_SUCCESS',\n EditUser: 'EDIT_USER',\n EditUserSuccess: 'EDIT_USER_SUCCESS',\n EditUserError: 'EDIT_USER_ERROR',\n GetUserById: 'GET_USER_BY_ID',\n GetUserByIdSuccess: 'GET_USER_BY_ID_SUCCESS',\n GetUserByIdError: 'GET_USER_BY_ID_ERROR',\n ClearUser: 'CLEAR_USER',\n ClearUserErrors: 'CLEAR_USER_ERROR',\n xtmConnect: 'USER_XTM_CONNECT',\n xtmConnectSuccess: 'USER_XTM_CONNECT_SUCCESS',\n xtmConnectError: 'USER_XTM_CONNECT_ERROR',\n xtmGetCustomers: 'USER_XTM_GET_CUSTOMERS',\n xtmGetCustomersError: 'USER_XTM_GET_CUSTOMERS_ERROR',\n xtmGetCustomersSuccess: 'USER_XTM_GET_CUSTOMERS_SUCCESS',\n xtmGetTemplates: 'USER_XTM_GET_TEMPLATES',\n xtmGetTemplatesSuccess: 'USER_XTM_GET_TEMPLATES_SUCCESS',\n xtmGetTemplatesError: 'USER_XTM_GET_TEMPLATES_ERROR',\n xtmGetCustomersById: 'USER_XTM_GET_CUSTOMERS_BY_ID',\n xtmGetCustomersByIdSuccess: 'USER_XTM_GET_CUSTOMERS_BY_ID_SUCCESS',\n xtmGetCustomersByIdError: 'USER_XTM_GET_CUSTOMERS_BY_ID_ERROR',\n xtmGetConnectData: 'USER_XTM_GET_CONNECT_DATA',\n xtmGetConnectDataSuccess: 'USER_XTM_GET_CONNECT_DATA_SUCCESS',\n xtmGetConnectDataError: 'USER_XTM_GET_CONNECT_DATA_ERROR',\n xtmConnectUser: 'USER_CONNECT_TO_XTM_USER',\n xtmConnectUserError: 'USER_CONNECT_TO_XTM_USER_ERROR',\n xtmConnectUserSuccess: 'USER_CONNECT_TO_XTM_USER_SUCCESS',\n clearTemplates: 'USER_CLEAR_XTM_TEMPLATES',\n getDefaultUserLanguage: 'USER_GET_DEFAULT_LANGUAGE',\n getDefaultUserLanguageSuccess: 'USER_GET_DEFAULT_LANGUAGE_SUCCESS',\n getDefaultUserLanguageError: 'USER_GET_DEFAULT_LANGUAGE_ERROR',\n clearDefaultUserLanguage: 'USER_CLEAR_DEFAULT_LANGUAGE',\n sessionExpired: 'USER_SESSION_EXPIRED',\n showSessionExpired: 'USER_SHOW_SESSION_EXPIRED',\n hideSessionExpired: 'USER_HIDE_SESSION_EXPIRED',\n getUsersByClientId: 'GET_USERS_BT_CLIENT_ID',\n getUsersByClientIdSuccess: 'GET_USERS_BT_CLIENT_ID_SUCCESS',\n getUsersByClientIdError: 'GET_USERS_BT_CLIENT_ID_ERROR',\n};\n\nexport interface IRemindPasswordPayload {\n email: string;\n}\n","import { createAction } from '@reduxjs/toolkit';\nimport { ErrorPayload } from 'store/error/error.epic';\nimport {\n AuthenticationResult,\n Page,\n RefreshTokenResult,\n UserDTO,\n UserOverviewDTO,\n XTMConnectDTO,\n XTMCustomerInfoDTO,\n XTMLanguageDTO,\n XTMTemplateDTO,\n} from 'utils/restApplicationClient';\nimport {\n AuthenticationRequest,\n ChangePasswordDTO,\n CreateUserDTO,\n XTMConnectionParametersDTO,\n XTMConnectRequest,\n} from 'utils/restApplicationClientTypeOverrides';\nimport { IRemindPasswordPayload, UserActionTypes } from './user.actions.types';\nimport { IEditUser, IUsersPageable, XTMGetTemplatesDTO } from './user.interface';\n\nexport const verifyPassToken = createAction(UserActionTypes.verifyPassToken);\nexport const verifyPassTokenSuccess = createAction(UserActionTypes.verifyPassTokenSuccess);\nexport const verifyPassTokenError = createAction(UserActionTypes.verifyPassTokenError);\nexport const changePassword = createAction(UserActionTypes.ChangePassword);\nexport const changePasswordSuccess = createAction(UserActionTypes.ChangePasswordSuccess);\nexport const changePasswordError = createAction(UserActionTypes.ChangePasswordError);\nexport const changeUserPassword = createAction(UserActionTypes.ChangeUserPassword);\nexport const changeUserPasswordSuccess = createAction(UserActionTypes.ChangeUserPasswordSuccess);\nexport const changeUserPasswordError = createAction(UserActionTypes.ChangeUserPasswordError);\nexport const loginUser = createAction(UserActionTypes.Login);\nexport const loginUserSuccess = createAction(UserActionTypes.LoginSuccess);\nexport const loginUserError = createAction(UserActionTypes.LoginError);\n\nexport const logoutUser = createAction(UserActionTypes.Logout);\nexport const logoutUserSuccess = createAction(UserActionTypes.LogoutSuccess);\nexport const logoutUserError = createAction(UserActionTypes.LogoutError);\n\nexport const getUsersByClientId = createAction(UserActionTypes.getUsersByClientId);\nexport const getUsersByClientIdSuccess = createAction(UserActionTypes.getUsersByClientIdSuccess);\nexport const getUsersByClientIdError = createAction(UserActionTypes.getUsersByClientIdError);\n\nexport const resetPassword = createAction(UserActionTypes.ResetPassword);\nexport const resetPasswordSuccess = createAction(UserActionTypes.ResetPasswordSuccess);\nexport const resetPasswordError = createAction(UserActionTypes.ResetPasswordError);\n\nexport const resetUserPassword = createAction(UserActionTypes.ResetUserPassword);\nexport const resetUserPasswordSuccess = createAction(UserActionTypes.ResetUserPasswordSuccess);\nexport const resetUserPasswordError = createAction(UserActionTypes.ResetUserPasswordError);\n\nexport const verifyToken = createAction(UserActionTypes.VerifyToken);\nexport const verifyTokenSuccess = createAction<{ ttl: number }>(UserActionTypes.VerifyTokenSuccess);\nexport const verifyTokenError = createAction(UserActionTypes.VerifyTokenError);\nexport const refreshTokenSuccess = createAction(UserActionTypes.RefreshTokenSuccess);\n\nexport const getAllUsers = createAction(UserActionTypes.GetAllUsers);\nexport const getAllUsersError = createAction(UserActionTypes.GetAllUsersError);\nexport const getAllUsersSuccess = createAction(UserActionTypes.GetAllUsersSuccess);\nexport const createUser = createAction(UserActionTypes.CreateUser);\nexport const createUserSuccess = createAction(UserActionTypes.CreateUserSuccess);\nexport const createUserError = createAction(UserActionTypes.CreateUserError);\n\nexport const usersPageable = createAction(UserActionTypes.UsersPageable);\nexport const usersPageableSuccess = createAction>(UserActionTypes.UsersPageableSuccess);\nexport const usersPageableError = createAction(UserActionTypes.UsersPageableError);\nexport const editUser = createAction(UserActionTypes.EditUser);\nexport const editUserSuccess = createAction(UserActionTypes.EditUserSuccess);\nexport const editUserError = createAction(UserActionTypes.EditUserError);\n\nexport const getUserById = createAction(UserActionTypes.GetUserById);\nexport const getUserByIdSuccess = createAction(UserActionTypes.GetUserByIdSuccess);\nexport const getUserByIdError = createAction(UserActionTypes.GetUserByIdError);\n\nexport const clearUser = createAction(UserActionTypes.ClearUser);\n\nexport const clearUserErrors = createAction(UserActionTypes.ClearUserErrors);\n\nexport const xtmConnect = createAction(UserActionTypes.xtmConnect);\n\nexport const xtmConnectError = createAction(UserActionTypes.xtmConnectError);\n\nexport const xtmConnectSuccess = createAction(UserActionTypes.xtmConnectSuccess);\n\nexport const xtmConnectUser = createAction<{\n userId: string;\n xtmParameters: XTMConnectRequest;\n}>(UserActionTypes.xtmConnectUser);\n\nexport const xtmConnectUserError = createAction(UserActionTypes.xtmConnectUserError);\n\nexport const xtmConnectUserSuccess = createAction(UserActionTypes.xtmConnectUserSuccess);\n\nexport const xtmGetCustomers = createAction(UserActionTypes.xtmGetCustomers);\n\nexport const xtmGetCustomersError = createAction(UserActionTypes.xtmGetCustomersError);\n\nexport const xtmGetCustomersSuccess = createAction>(UserActionTypes.xtmGetCustomersSuccess);\n\nexport const xtmGetTemplates = createAction(UserActionTypes.xtmGetTemplates);\n\nexport const xtmGetTemplatesError = createAction(UserActionTypes.xtmGetTemplatesError);\n\nexport const xtmGetTemplatesSuccess = createAction<{ [customerId: string]: XTMTemplateDTO[] }>(\n UserActionTypes.xtmGetTemplatesSuccess,\n);\n\nexport const xtmGetCustomersById = createAction(UserActionTypes.xtmGetCustomersById);\n\nexport const xtmGetCustomersByIdError = createAction(UserActionTypes.xtmGetCustomersByIdError);\n\nexport const xtmGetCustomersByIdSuccess = createAction>(\n UserActionTypes.xtmGetCustomersByIdSuccess,\n);\n\nexport const xtmGetConnectData = createAction(UserActionTypes.xtmGetConnectData);\n\nexport const xtmGetConnectDataError = createAction(UserActionTypes.xtmGetConnectDataError);\n\nexport const xtmGetConnectDataSuccess = createAction(\n UserActionTypes.xtmGetConnectDataSuccess,\n);\n\nexport const getDefaultUserLanguages = createAction(UserActionTypes.getDefaultUserLanguage);\nexport const getDefaultUserLanguagesSuccess = createAction(\n UserActionTypes.getDefaultUserLanguageSuccess,\n);\nexport const getDefaultUserLanguagesError = createAction(UserActionTypes.getDefaultUserLanguageError);\nexport const clearDefaultUserLanguages = createAction(UserActionTypes.clearDefaultUserLanguage);\n\nexport const clearXtmTemplates = createAction(UserActionTypes.clearTemplates);\n\nexport const sessionExpired = createAction(UserActionTypes.sessionExpired);\n\nexport const showSessionExpired = createAction(UserActionTypes.showSessionExpired);\n\nexport const hideSessionExpired = createAction(UserActionTypes.hideSessionExpired);\n","import { createSelector } from '@reduxjs/toolkit';\nimport { AppState } from 'store';\nimport { XTMConnectionParametersDTO } from 'utils/restApplicationClientTypeOverrides';\nimport { XTMLanguageDTO } from '../../../../xtm-kontent-app/src/utils/restApplicationClient';\nimport { IUserState } from './user.interface';\n\nconst authSelector = (state: AppState): boolean => state.user.auth;\n\nconst verifyFinishSelector = (state: AppState): boolean => state.user.verifyFinished;\n\nconst userDataSelector = (state: AppState): IUserState['data'] => {\n return state.user.data;\n};\n\nconst userErrorsSelector = (state: AppState): IUserState['errors'] => state.user.errors;\n\nconst userSelector = (state: AppState): IUserState['user'] => state.user.user;\n\nconst xtmAuthorizationIdSelector = ({ user: { xtmAuthorizationId } }: AppState): IUserState['xtmAuthorizationId'] =>\n xtmAuthorizationId;\n\nconst xtmCustomersSelector = ({ user: { customers } }: AppState): IUserState['customers'] => customers;\n\nconst xtmTemplatesSelector = ({ user: { templates } }: AppState): IUserState['templates'] => templates;\n\nconst xtmConnectDataSelector = ({ user: { connectData } }: AppState): XTMConnectionParametersDTO | undefined =>\n connectData;\n\nconst sessionExpiredSelector = ({ user: { sessionExpired } }: AppState): boolean => sessionExpired;\n\nexport const getAuthSelector = createSelector(authSelector, (auth) => auth);\n\nexport const getVerifyFinishSelector = createSelector(verifyFinishSelector, (finished) => finished);\n\nexport const getUserDataSelector = createSelector(userDataSelector, (roles) => roles);\n\nexport const getUserErrorsSelector = createSelector(userErrorsSelector, (errors) => errors);\n\nexport const getUserSelector = createSelector(userSelector, (user) => user);\n\nexport const getXtmAuthorizationIdSelector = createSelector(\n xtmAuthorizationIdSelector,\n (authorizationId) => authorizationId,\n);\n\nexport const getXtmCustomersSelector = createSelector(xtmCustomersSelector, (customers) => customers);\n\nexport const getXtmTemplatesSelector = createSelector(xtmTemplatesSelector, (templates) =>\n Array.isArray(templates) && templates.length === 0 ? undefined : templates,\n);\n\nexport const getXtmConnectDataSelector = createSelector(xtmConnectDataSelector, (connectData) => connectData);\n\nexport const allDefaultUserLanguages = (state: AppState): XTMLanguageDTO[] | undefined =>\n state.user.defaultUserLanguages;\nexport const getDefaultUserLanguagesSelector = createSelector(allDefaultUserLanguages, (languages) => languages);\n\nexport const getSessionExpiredSeletor = createSelector(sessionExpiredSelector, (sessionExpired) => sessionExpired);\n","import styled from '@emotion/styled';\n\nexport const ModalDropdown = styled.div`\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n z-index: 9999;\n backdrop-filter: blur(4px);\n display: flex;\n align-items: center;\n justify-content: center;\n`;\n\nexport const ModalWindow = styled.div`\n background-color: #eff3f7;\n text-align: center;\n border-radius: 15px;\n border: 2px solid #2e3645;\n width: 300px;\n button:last-child {\n margin-bottom: 20px;\n }\n`;\n\nexport const ModalLogoBar = styled.div`\n height: 100px;\n width: 100%;\n background-color: #2e3645;\n padding: 20px;\n border-top-right-radius: 12px;\n border-top-left-radius: 12px;\n > img {\n height: 100%;\n }\n`;\nexport const ModalTextDiv = styled.div`\n padding: 20px 40px;\n p:first-of-type {\n margin-bottom: 10px;\n }\n`;\n","/** @jsx jsx */\nimport { css, jsx } from '@emotion/core';\nimport { Button, Typography } from '@material-ui/core';\nimport loginHeaderStyle from 'components/LoginHeader/LoginHeader.style';\nimport { Component } from 'react';\nimport { WithTranslation, withTranslation } from 'react-i18next';\nimport { connect } from 'react-redux';\nimport { Dispatch } from 'redux';\nimport { AppDispatch, AppState } from 'store';\nimport { logoutUser, sessionExpired } from 'store/user/user.actions';\nimport { getSessionExpiredSeletor } from 'store/user/user.selectors';\nimport { ModalDropdown, ModalLogoBar, ModalTextDiv, ModalWindow } from './SessionExpiredModal.styled';\n\ninterface IStateProps {\n sessionExpired: boolean;\n}\n\ninterface IDispatchProps {\n setSessionExpired: (payload: boolean) => AppDispatch;\n logout: () => AppDispatch;\n}\n\ntype PropType = WithTranslation & IDispatchProps & IStateProps;\n\nclass SessionExpiredModal extends Component {\n handleClick = (): void => {\n const { setSessionExpired, logout } = this.props;\n setSessionExpired(false);\n logout();\n };\n\n render(): JSX.Element {\n const { t, sessionExpired } = this.props;\n const visibility = css`\n visibility: ${sessionExpired ? 'visible' : 'hidden'};\n `;\n return (\n \n \n \n \n \n \n {t('auth.sessionExpired.text1')}\n {t('auth.sessionExpired.text2')}\n \n \n \n \n );\n }\n}\n\nconst mapStateToProps = (state: AppState): IStateProps => ({\n sessionExpired: getSessionExpiredSeletor(state),\n});\n\nconst mapDispatchToProps = (dispatch: Dispatch): IDispatchProps => ({\n setSessionExpired: (payload: boolean): AppDispatch => dispatch(sessionExpired(payload)),\n logout: (): AppDispatch => dispatch(logoutUser()),\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(withTranslation()(SessionExpiredModal));\n","import React from 'react';\n\nexport default function Help(): JSX.Element {\n return (\n \n \n \n );\n}\n","import React from 'react';\n\nexport default function Logout(): JSX.Element {\n return (\n \n \n \n );\n}\n","import React from 'react';\n\nexport default function ReleaseNotes(): JSX.Element {\n return (\n \n \n \n );\n}\n","/* tslint:disable */\n/* eslint-disable */\n// @ts-nocheck\n// Generated using typescript-generator version 2.24.612 on 2023-12-11 11:05:06.\n\nimport { AuthenticationRequest, ChangePasswordDTO, CreateAdministratorDTO, CreateUserDTO, GetTemplatesDTO, TranslationProduct, UpdateAdministratorDTO, UpdateUserDTO, UserAuthenticationRequest, XTMConnectionParametersDTO, XTMConnectRequest, FilteringParamsDTO } from \"./restApplicationClientTypeOverrides\";\n\nexport interface AbstractCreateOrUpdateUserDTO extends Serializable {\n firstName: string;\n lastName: string;\n interfaceLanguage: string;\n email: string;\n clientUUID: string;\n status: boolean;\n daysToDefaultDueDate: number;\n assignedProjectIds: string[];\n xtmCustomers: XTMCustomerDTO[];\n xtmProjectNamePrefix: string;\n daysAfterRemoveArchivedOrDeletedFiles: number;\n daysAfterRemoveCancelledJobs: number;\n notifyWhenTranslationImported: boolean;\n allowDueDateChange: boolean;\n notifyWhenXTMWorkflowChange: boolean;\n}\n\nexport interface XTMCustomerDTO extends Serializable {\n xtmCustomerId: number;\n xtmTemplates: XTMCustomerTemplateDTO[];\n orderNumber: number;\n}\n\nexport interface Serializable {\n}\n\nexport interface AdministratorDTO extends BaseDTO, Serializable {\n email: string;\n status: boolean;\n clientName: string;\n client: ClientDTO;\n}\n\nexport interface AuthenticationResult {\n accessToken: string;\n ttl: number;\n refreshToken: string;\n username: string;\n roles: string[];\n}\n\nexport interface RefreshTokenResult {\n accessToken: string;\n ttl: number;\n refreshToken: string;\n username: string;\n roles: string[];\n}\n\nexport interface CreateClientDTO extends Serializable {\n clientName: string;\n status: boolean;\n}\n\nexport interface UpdateClientDTO extends Serializable {\n clientName: string;\n status: boolean;\n}\n\nexport interface ClientDTO extends BaseDTO, Serializable {\n clientName: string;\n status: boolean;\n}\n\nexport interface KontentConnectRequest extends Serializable {\n code: string;\n}\n\nexport interface KontentProductDTO extends Serializable {\n id: string;\n name: string;\n codeName: string;\n typeName: string;\n typeCodeName: string;\n workflowStep: string;\n dueDate: Date;\n publishedDate: Date;\n lastModification: Date;\n}\n\nexport interface XTMConnectDTO extends Serializable {\n xtmAuthorizationId: string;\n}\n\nexport interface ActiveProjectSearchDTO extends Serializable {\n sourceLanguage: string;\n targetLanguages: string[];\n customerId: number;\n}\n\nexport interface GetCustomersDTO extends Serializable {\n defaultCustomerId: number;\n customers: XTMCustomerInfoDTO[];\n}\n\nexport interface XTMProjectVerifyDTO extends Serializable {\n customerId: number;\n templateId: number;\n sourceLanguage: string;\n targetLanguages: string[];\n entries: TranslationProduct[];\n}\n\nexport interface XTMProjectEntryVerifyDTO extends Serializable {\n entries: XTMProjectEntriesVerifyDTO[];\n haveProjects: boolean;\n}\n\nexport interface MassOperationRequest extends Serializable {\n jobsIds: string[];\n operation: JobOperation;\n}\n\nexport interface JobsErrorCodeIgnoreDTO extends Serializable {\n jobUUIDs: string[];\n errorMessageCode: string;\n}\n\nexport interface ChangedKontentRequest {\n requestId: string;\n operation: Operation;\n productIds?: string[];\n kontentLanguagesCodes?: string[];\n}\n\nexport interface Resource extends InputStreamSource {\n open: boolean;\n file: any;\n readable: boolean;\n url: URL;\n uri: URI;\n description: string;\n filename: string;\n}\n\nexport interface ResetPasswordDTO extends Serializable {\n email: string;\n language: string;\n}\n\nexport interface VerifyTokenDTO extends Serializable {\n token: string;\n}\n\nexport interface ApiKeysDTO extends Serializable {\n kontentProjectId: string;\n managementApiKey: string;\n deliveryApiKey: string;\n}\n\nexport interface CreateOrUpdateProjectDTO extends Serializable {\n projectName: string;\n clientUUID: string;\n kontentProjectId: string;\n status: boolean;\n contentTypeIds: string[];\n contentElementTypes: ContentElementType[];\n handledWorkflowStepIds: string[];\n translatedContentWorkflowStepId: string;\n richTextContext: boolean;\n propagateRepeatTranslations: boolean;\n webhookIds: string[];\n usersForWebhooks: AssignedWebhookUserDTO[];\n assignedUsersUUID: string[];\n languageMapping: KontentProjectLanguageMappingDTO[];\n}\n\nexport interface KontentProjectDTO extends BaseDTO {\n clientUUID: string;\n name: string;\n status: boolean;\n kontentProjectId: string;\n contentTypeIds: string[];\n contentElementTypes: ContentElementType[];\n handledWorkflowIds: string[];\n translatedContentWorkflowStepId: string;\n webhookIds: string[];\n usersForWebhooks: AssignedWebhookUserDTO[];\n assignedUserIds: string[];\n languageMapping: KontentProjectLanguageMappingDTO[];\n editableKontentProjectId: boolean;\n richTextContext: boolean;\n propagateRepeatTranslations: boolean;\n}\n\nexport interface KontentProjectOverviewDTO extends BaseDTO {\n status: boolean;\n clientName: string;\n kenticoProjectName: string;\n}\n\nexport interface KontentItemsSearchDTO extends Serializable {\n name?: string;\n codeName?: string;\n languageCodeName?: string;\n types: string[];\n workflows: string[];\n taxonomies: KontentItemsTaxonomySearch[];\n}\n\nexport interface KontentContentTypeDTO extends Serializable {\n id: string;\n codeName: string;\n lastModified: Date;\n name: string;\n elements: KontentContentElementDTO[];\n externalId: string;\n contentGroups: ContentGroupDTO[];\n}\n\nexport interface KontentProject {\n id: string;\n name: string;\n environment: string;\n}\n\nexport interface KontentSnippetDTO extends Serializable {\n id: string;\n codeName: string;\n lastModified: string;\n name: string;\n elements: KontentContentElementDTO[];\n externalId: string;\n}\n\nexport interface KontentTaxonomyDTO extends Serializable {\n codeName: string;\n extrenalId: string;\n id: string;\n lastModified: string;\n name: string;\n terms: TaxonomyTerm[];\n}\n\nexport interface TranslateRequestDTO extends Serializable {\n customerId?: number;\n templateId?: number;\n projectName: string;\n description: string;\n products: { [index: string]: TranslationProduct[] };\n sourceLanguage: string;\n targetLanguages: string[];\n dueDate?: Date;\n daysToDefaultDueDate?: number;\n serverUrl: string;\n workflowStepCodeName?: string;\n updateXtmProject: boolean;\n kontentProjectUUID: string;\n userId?: string;\n productIdVersionTimestampNotForUpdateMap?: { [index: string]: number[] };\n}\n\nexport interface UserDueDateChangeDTO extends Serializable {\n allowDueDateChange: boolean;\n daysToDefaultDueDate: number;\n}\n\nexport interface UserProjectPrefixDTO extends Serializable {\n prefix: string;\n}\n\nexport interface UserDTO extends BaseDTO {\n email: string;\n status: boolean;\n clientName: string;\n interfaceLanguage: string;\n client: ClientDTO;\n xtmProperties: UserXTMPropertiesDTO;\n userSpecification: UserSpecificationDTO;\n assignedProjectIds: string[];\n}\n\nexport interface XTMCustomerTemplateDTO extends Serializable {\n xtmTemplateId: number;\n orderNumber: number;\n}\n\nexport interface BaseDTO extends Serializable {\n id: string;\n createdAt: Date;\n modifiedAt: Date;\n}\n\nexport interface Page extends Slice {\n totalPages: number;\n totalElements: number;\n}\n\nexport interface ItemLanguageVariationsDTO extends Serializable {\n itemId: string;\n sourceLanguage: string;\n}\n\nexport interface ScheduledTimeDTO extends Serializable {\n scheduledTo: Date;\n}\n\nexport interface XTMProjectDTO extends Serializable {\n id: number;\n name: string;\n status: string;\n activityEnum: ActivityEnum;\n}\n\nexport interface XTMCustomerInfoDTO extends Serializable {\n xtmCustomerId: number;\n name: string;\n}\n\nexport interface XTMProjectEntriesVerifyDTO extends Serializable {\n entryId: string;\n entryName: string;\n projectId: number;\n}\n\nexport interface XTMLanguageDTO extends Serializable {\n xtmLanguageCode: string;\n xtmLanguageName: string;\n}\n\nexport interface XTMTemplateDTO extends Serializable {\n xtmTemplateId: number;\n name: string;\n}\n\nexport interface XTMWorkflowStepDTO extends Serializable {\n step: string;\n}\n\nexport interface KontentContentDTO extends BaseDTO {\n frontendId: string;\n content: string;\n jobs: KontentContentJob[];\n}\n\nexport interface ProjectDTO extends Serializable {\n id: string;\n xtmId: number;\n name: string;\n customer: string;\n createdAt: Date;\n dueDate: Date;\n progress: number;\n status: CompletionStatusEnum;\n sourceLanguage: string;\n sourceLanguageName: string;\n targetLanguages: ProjectTargetLanguageDTO[];\n inAnalysis: boolean;\n joinedFilesInXTM: boolean;\n}\n\nexport interface URL extends Serializable {\n}\n\nexport interface URI extends Comparable, Serializable {\n}\n\nexport interface InputStreamSource {\n inputStream: any;\n}\n\nexport interface ChangedProductsDTO extends Serializable {\n productId: string;\n name: string;\n}\n\nexport interface AssignedWebhookUserDTO extends Serializable {\n userUUID: string;\n orderNumber: number;\n}\n\nexport interface KontentProjectLanguageMappingDTO extends Serializable {\n xtmLanguageCode: string;\n xtmLanguageName: string;\n kontentLanguageCode: string;\n kontentLanguageName: string;\n}\n\nexport interface KontentItemsTaxonomySearch extends Serializable {\n taxonomyGroupKeys: string[];\n taxonomyTerms: string[];\n}\n\nexport interface KontentLanguageDTO extends Serializable {\n id: string;\n name: string;\n codeName: string;\n externalId: string;\n isActive: boolean;\n isDefault: boolean;\n}\n\nexport interface KontentDeliveryTaxonomyDTO extends Serializable {\n name: string;\n codeName: string;\n terms: KontentDeliveryTaxonomyTerm[];\n taxonomyGroupKeys: string[];\n}\n\nexport interface KontentContentElementTypeDTO extends Serializable {\n name: string;\n codeName: string;\n}\n\nexport interface KontentContentElementDTO extends Serializable {\n name: string;\n type: ContentElementType;\n id: string;\n codeName: string;\n externalId: string;\n guideLines: string;\n assetCountLimit: ValueCondition;\n maximumFileSize: number;\n allowedFileTypes: AllowedFileType;\n imageWidthLimit: ValueCondition;\n imageHeightLimit: ValueCondition;\n contentGroup: IdObject;\n sourceUrl: string;\n jsonParameters: string;\n allowedElements: IdObject[];\n itemCountLimit: ValueCondition;\n allowedContentTypes: IdObject[];\n mode: ContentElementMode;\n options: ContentElementOption[];\n maximumTextLength: ContentElementElementValueAppliedTo;\n maximumImageSize: number;\n allowedBlocks: AllowedBlock[];\n allowedTextBlocks: AllowedTextBlock[];\n allowedFormatting: AllowedFormatting[];\n allowedTableBlocks: AllowedTableBlock[];\n allowedTableTextBlocks: AllowedTextBlock[];\n allowedTableFormatting: AllowedFormatting[];\n allowedImageTypes: AllowedFileType;\n snippet: IdObject;\n taxonomyGroup: IdObject;\n dependsOn: DependentElement;\n required: boolean;\n}\n\nexport interface ContentGroupDTO extends Serializable {\n id: string;\n name: string;\n codeName: string;\n externalId: string;\n}\n\nexport interface TaxonomyTerm {\n id: string;\n name: string;\n terms?: TaxonomyTerm[];\n codename: string;\n external_id: string;\n}\n\nexport interface KontentWebhookDTO extends Serializable {\n id: string;\n name: string;\n lastModified: string;\n}\n\nexport interface KontentWorkflowStepDTO extends Serializable {\n id: string;\n name: string;\n codeName: string;\n transitionsTo: string[];\n}\n\nexport interface SkippedItemDTO extends Serializable {\n id: string;\n productId: string;\n productName: string;\n}\n\nexport interface UserOverviewDTO extends BaseDTO {\n email: string;\n status: boolean;\n clientName: string;\n}\n\nexport interface RequesterDTO extends Serializable {\n id: string;\n name: string;\n}\n\nexport interface UserXTMPropertiesDTO extends BaseDTO {\n xtmCustomers: XTMCustomerDTO[];\n xtmProjectNamePrefix: string;\n daysAfterRemoveArchivedOrDeletedFiles: number;\n daysAfterRemoveCancelledJobs: number;\n}\n\nexport interface UserSpecificationDTO extends BaseDTO {\n firstName: string;\n lastName: string;\n generateAndUploadScreenshots: boolean;\n automaticImport: boolean;\n importPerJobs: boolean;\n importAllJobs: boolean;\n notifyWhenTranslationImported: boolean;\n allowDueDateChange: boolean;\n importInterval: number;\n daysToDefaultDueDate: number;\n notifyWhenXTMWorkflowChange: boolean;\n}\n\nexport interface Sort extends Streamable, Serializable {\n sorted: boolean;\n unsorted: boolean;\n}\n\nexport interface Pageable {\n offset: number;\n sort: Sort;\n paged: boolean;\n unpaged: boolean;\n pageNumber: number;\n pageSize: number;\n}\n\nexport interface KontentContentJob extends Serializable {\n targetLanguage: string;\n status: XTMJobStatus;\n}\n\nexport interface ProjectTargetLanguageDTO extends Serializable {\n name: string;\n progress: number;\n status: XTMJobStatus;\n language: string;\n files: ProjectDataDTO[];\n}\n\nexport interface KontentDeliveryTaxonomyTerm extends Serializable {\n name: string;\n codeName: string;\n terms: KontentDeliveryTaxonomyTerm[];\n}\n\nexport interface ValueCondition {\n value: number;\n condition: AssetCondition;\n}\n\nexport interface IdObject {\n id: string;\n}\n\nexport interface ContentElementOption {\n id: string;\n name: string;\n codename: string;\n external_id: string;\n}\n\nexport interface ContentElementElementValueAppliedTo {\n value: number;\n applies_to: TextAppliedTo;\n}\n\nexport interface DependentElement {\n element: IdObject;\n snippet: IdObject;\n}\n\nexport interface Slice extends Streamable {\n size: number;\n content: T[];\n number: number;\n sort: Sort;\n numberOfElements: number;\n pageable: Pageable;\n first: boolean;\n last: boolean;\n}\n\nexport interface ProjectDataDTO extends Serializable {\n id: string;\n xtmId: number;\n name: string;\n requester: string;\n createdAt: Date;\n dueDate: Date;\n workflowStep: string;\n progress: number;\n status: XTMJobStatus;\n errorMessage: string;\n errorMessagesDetails: string[];\n joinedFile: boolean;\n}\n\nexport interface Comparable {\n}\n\nexport interface Streamable extends Iterable, Supplier> {\n empty: boolean;\n}\n\nexport interface Order extends Serializable {\n direction: Direction;\n property: string;\n ignoreCase: boolean;\n nullHandling: NullHandling;\n descending: boolean;\n ascending: boolean;\n}\n\nexport interface Iterable {\n}\n\nexport interface Supplier {\n}\n\nexport interface Stream extends BaseStream> {\n}\n\nexport interface BaseStream extends AutoCloseable {\n parallel: boolean;\n}\n\nexport interface AutoCloseable {\n}\n\nexport interface RestApplication {\n\n /**\n * HTTP GET /\n * Java method: cloud.xtm.kontent.backend.common.app.api.RootController.getRoot\n */\n getRoot(options?: O): RestResponse;\n\n /**\n * HTTP GET /api\n * Java method: cloud.xtm.kontent.backend.common.app.api.RootController.getApiRoot\n */\n getApiRoot(options?: O): RestResponse;\n\n /**\n * HTTP POST /api/administrators\n * Java method: cloud.xtm.kontent.backend.administrators.app.api.ClientAdministratorController.createAdministrator\n */\n createAdministrator(createAdministrator: CreateAdministratorDTO, options?: O): RestResponse;\n\n /**\n * HTTP GET /api/administrators/pageable\n * Java method: cloud.xtm.kontent.backend.administrators.app.api.ClientAdministratorController.getAllAdministrators\n */\n getAllAdministrators(queryParams?: { search?: string; page?: number; size?: number; sort?: string; }, options?: O): RestResponse>;\n\n /**\n * HTTP DELETE /api/administrators/{administratorId}\n * Java method: cloud.xtm.kontent.backend.administrators.app.api.ClientAdministratorController.deleteAdministrator\n */\n deleteAdministrator(administratorId: string, options?: O): RestResponse;\n\n /**\n * HTTP PUT /api/administrators/{administratorId}\n * Java method: cloud.xtm.kontent.backend.administrators.app.api.ClientAdministratorController.editAdministrator\n */\n editAdministrator(administratorId: string, updateAdministrator: UpdateAdministratorDTO, options?: O): RestResponse;\n\n /**\n * HTTP GET /api/administrators/{administratorId}\n * Java method: cloud.xtm.kontent.backend.administrators.app.api.ClientAdministratorController.getAdministrator\n */\n getAdministrator(administratorId: string, options?: O): RestResponse;\n\n /**\n * HTTP POST /api/auth/admin\n * Java method: cloud.xtm.kontent.backend.auth.app.api.AuthController.authenticateAdmin\n */\n authenticateAdmin(authRequest: AuthenticationRequest, options?: O): RestResponse;\n\n /**\n * HTTP GET /api/auth/refreshToken\n * Java method: cloud.xtm.kontent.backend.auth.app.api.AuthController.refreshToken\n */\n refreshToken(options?: O): RestResponse;\n\n /**\n * HTTP POST /api/auth/user\n * Java method: cloud.xtm.kontent.backend.auth.app.api.AuthController.authenticateUser\n */\n authenticateUser(authRequest: UserAuthenticationRequest, options?: O): RestResponse;\n\n /**\n * HTTP POST /api/client\n * Java method: cloud.xtm.kontent.backend.clients.app.api.ClientController.createClient\n */\n createClient(createClient: CreateClientDTO, options?: O): RestResponse;\n\n /**\n * HTTP GET /api/client\n * Java method: cloud.xtm.kontent.backend.clients.app.api.ClientController.getAllClients\n */\n getAllClients$GET$api_client(options?: O): RestResponse;\n\n /**\n * HTTP GET /api/client/pageable\n * Java method: cloud.xtm.kontent.backend.clients.app.api.ClientController.getAllClients\n */\n getAllClients$GET$api_client_pageable(queryParams?: { search?: string; page?: number; size?: number; sort?: string; }, options?: O): RestResponse>;\n\n /**\n * HTTP DELETE /api/client/{clientId}\n * Java method: cloud.xtm.kontent.backend.clients.app.api.ClientController.deleteClient\n */\n deleteClient(clientId: string, options?: O): RestResponse;\n\n /**\n * HTTP PUT /api/client/{clientId}\n * Java method: cloud.xtm.kontent.backend.clients.app.api.ClientController.editClient\n */\n editClient(clientId: string, updateClient: UpdateClientDTO, options?: O): RestResponse;\n\n /**\n * HTTP GET /api/client/{clientId}\n * Java method: cloud.xtm.kontent.backend.clients.app.api.ClientController.getClient\n */\n getClient(clientId: string, options?: O): RestResponse;\n\n /**\n * HTTP GET /api/content/customers\n * Java method: cloud.xtm.kontent.backend.integration.xtm.content.api.XTMAddContentController.getXTMCustomers\n */\n getXTMCustomers$GET$api_content_customers(options?: O): RestResponse;\n\n /**\n * HTTP POST /api/content/entries/verify\n * Java method: cloud.xtm.kontent.backend.integration.xtm.content.api.XTMAddContentController.verify\n */\n verify(xtmProject: XTMProjectVerifyDTO, options?: O): RestResponse;\n\n /**\n * HTTP POST /api/content/projects/active\n * Java method: cloud.xtm.kontent.backend.integration.xtm.content.api.XTMAddContentController.getActiveXTMProjects\n */\n getActiveXTMProjects(activeProjectSearch: ActiveProjectSearchDTO, options?: O): RestResponse;\n\n /**\n * HTTP GET /api/content/templates/{xtmCustomerId}\n * Java method: cloud.xtm.kontent.backend.integration.xtm.content.api.XTMAddContentController.getXTMTemplatesForExistingUser\n */\n getXTMTemplatesForExistingUser(xtmCustomerId: number, options?: O): RestResponse;\n\n /**\n * HTTP POST /api/contents/check-statuses\n * Java method: cloud.xtm.kontent.backend.jobs.app.api.ContentController.checkStatusesForContents\n */\n checkStatusesForContents(frontendIds: string[], options?: O): RestResponse;\n\n /**\n * HTTP POST /api/jobs\n * Java method: cloud.xtm.kontent.backend.jobs.app.api.JobsController.performOperation\n */\n performOperation(request: MassOperationRequest, options?: O): RestResponse;\n\n /**\n * HTTP POST /api/jobs/action-for-changed-kontent\n * Java method: cloud.xtm.kontent.backend.jobs.app.api.JobsController.performActionForChangedKontentJobs\n */\n performActionForChangedKontentJobs(request: ChangedKontentRequest, options?: O): RestResponse;\n\n /**\n * HTTP PUT /api/jobs/cancel-for-target-language\n * Java method: cloud.xtm.kontent.backend.jobs.app.api.JobsController.cancelForTargetLanguage\n */\n cancelForTargetLanguage(queryParams: { targetLanguage: string; projectId: string; }, options?: O): RestResponse;\n\n /**\n * HTTP PUT /api/jobs/ignore-error-code\n * Java method: cloud.xtm.kontent.backend.jobs.app.api.JobsController.ignoreErrorCode\n */\n ignoreErrorCode(jobsErrorCodeIgnoreDTO: JobsErrorCodeIgnoreDTO, options?: O): RestResponse;\n\n /**\n * HTTP POST /api/jobs/operation-applicable-for\n * Java method: cloud.xtm.kontent.backend.jobs.app.api.JobsController.findJobsIdsByOperationType\n */\n findJobsIdsByOperationType$POST$api_jobs_operationapplicablefor(request: MassOperationRequest, options?: O): RestResponse;\n\n /**\n * HTTP GET /api/jobs/{jobId}/operation-applicable-for\n * Java method: cloud.xtm.kontent.backend.jobs.app.api.JobsController.findJobsIdsByOperationType\n */\n findJobsIdsByOperationType$GET$api_jobs_jobId_operationapplicablefor(jobId: string, queryParams: { jobOperation: JobOperation; }, options?: O): RestResponse;\n\n /**\n * HTTP PUT /api/jobs/{jobId}/update-due-date\n * Java method: cloud.xtm.kontent.backend.jobs.app.api.JobsController.updateDueDateForJob\n */\n updateDueDateForJob(jobId: string, queryParams: { newDueDate: Date; }, options?: O): RestResponse;\n\n /**\n * HTTP POST /api/kontent/connect\n * Java method: cloud.xtm.kontent.backend.integration.kontent.auth.app.api.KontentConnectController.connect\n */\n connect(connectRequest: KontentConnectRequest, options?: O): RestResponse;\n\n /**\n * HTTP POST /api/kontent/connect/refresh\n * Java method: cloud.xtm.kontent.backend.integration.kontent.auth.app.api.KontentConnectController.refresh\n */\n refresh(options?: O): RestResponse;\n\n /**\n * HTTP GET /api/kontent/connect/status\n * Java method: cloud.xtm.kontent.backend.integration.kontent.auth.app.api.KontentConnectController.status\n */\n status(options?: O): RestResponse;\n\n /**\n * HTTP GET /api/kontent/item\n * Java method: cloud.xtm.kontent.backend.integration.kontent.item.api.KontentItemController.findKontentItem\n */\n findKontentItem(queryParams: { projectId: string; itemId: string; }, options?: O): RestResponse;\n\n /**\n * HTTP POST /api/kontent/item/languages\n * Java method: cloud.xtm.kontent.backend.integration.kontent.item.api.KontentItemController.getItemLanguageVariations\n */\n getItemLanguageVariations(queryParams: { projectId: string; itemId: string[]; }, options?: O): RestResponse;\n\n /**\n * HTTP POST /api/kontent/item/publish\n * Java method: cloud.xtm.kontent.backend.integration.kontent.item.api.KontentItemController.publishKontentItemLanguageVariant\n */\n publishKontentItemLanguageVariant(kontentScheduledTime?: ScheduledTimeDTO, queryParams: { projectId: string; itemId: string; targetLang: string; }, options?: O): RestResponse;\n\n /**\n * HTTP POST /api/kontent/item/workflow\n * Java method: cloud.xtm.kontent.backend.integration.kontent.item.api.KontentItemController.updateKontentItemLanguageVariantWorkflow\n */\n updateKontentItemLanguageVariantWorkflow(queryParams: { projectId: string; itemId: string; targetLang: string; workflowStepId: string; }, options?: O): RestResponse;\n\n /**\n * HTTP GET /api/kontent/project/delivery/uuid/{project_id}/languages\n * Java method: cloud.xtm.kontent.backend.projects.app.api.KontentProjectDeliveryController.getProjectLanguageList\n */\n getProjectLanguageList(project_id: string, options?: O): RestResponse;\n\n /**\n * HTTP GET /api/kontent/project/delivery/uuid/{project_id}/taxonomies\n * Java method: cloud.xtm.kontent.backend.projects.app.api.KontentProjectDeliveryController.getTaxonomyListByKontentProject\n */\n getTaxonomyListByKontentProject(project_id: string, options?: O): RestResponse;\n\n /**\n * HTTP GET /api/kontent/project/delivery/uuid/{project_id}/types\n * Java method: cloud.xtm.kontent.backend.projects.app.api.KontentProjectDeliveryController.getContentTypesList\n */\n getContentTypesList(project_id: string, options?: O): RestResponse;\n\n /**\n * HTTP GET /api/kontent/project/delivery/{kontentProjectId}/languages\n * Java method: cloud.xtm.kontent.backend.projects.app.api.KontentProjectDeliveryController.getProjectLanguageListByKontentProject\n */\n getProjectLanguageListByKontentProject(kontentProjectId: string, options?: O): RestResponse;\n\n /**\n * HTTP GET /api/kontent/project/delivery/{kontentProjectId}/types\n * Java method: cloud.xtm.kontent.backend.projects.app.api.KontentProjectDeliveryController.getContentTypesListByKontentProject\n */\n getContentTypesListByKontentProject(kontentProjectId: string, options?: O): RestResponse;\n\n /**\n * HTTP POST /api/kontent/project/delivery/{project_id}\n * Java method: cloud.xtm.kontent.backend.projects.app.api.KontentProjectDeliveryController.getItems\n */\n getItems(project_id: string, kontentItemsSearchDTO: KontentItemsSearchDTO, queryParams?: { page?: number; size?: number; sort?: string; }, options?: O): RestResponse>;\n\n /**\n * HTTP GET /api/kontent/project/management/elementtypes\n * Java method: cloud.xtm.kontent.backend.projects.app.api.KontentProjectManagementController.getContentElementTypesList\n */\n getContentElementTypesList(options?: O): RestResponse;\n\n /**\n * HTTP GET /api/kontent/project/management/{project_id}\n * Java method: cloud.xtm.kontent.backend.projects.app.api.KontentProjectManagementController.getProjectInfo\n */\n getProjectInfo(project_id: string, options?: O): RestResponse;\n\n /**\n * HTTP GET /api/kontent/project/management/{project_id}/snippets\n * Java method: cloud.xtm.kontent.backend.projects.app.api.KontentProjectManagementController.getSnippetList\n */\n getSnippetList(project_id: string, options?: O): RestResponse;\n\n /**\n * HTTP GET /api/kontent/project/management/{project_id}/snippets/{snippet_identifier}\n * Java method: cloud.xtm.kontent.backend.projects.app.api.KontentProjectManagementController.getSnippet\n */\n getSnippet(project_id: string, snippet_identifier: string, options?: O): RestResponse;\n\n /**\n * HTTP GET /api/kontent/project/management/{project_id}/taxonomies\n * Java method: cloud.xtm.kontent.backend.projects.app.api.KontentProjectManagementController.getTaxonomies\n */\n getTaxonomies(project_id: string, options?: O): RestResponse;\n\n /**\n * HTTP GET /api/kontent/project/management/{project_id}/taxonomies/{taxonomy_group_identifier}\n * Java method: cloud.xtm.kontent.backend.projects.app.api.KontentProjectManagementController.getTaxonomy\n */\n getTaxonomy(project_id: string, taxonomy_group_identifier: string, options?: O): RestResponse;\n\n /**\n * HTTP GET /api/kontent/project/management/{project_id}/types/{type_identifier}\n * Java method: cloud.xtm.kontent.backend.projects.app.api.KontentProjectManagementController.getContentType\n */\n getContentType(project_id: string, type_identifier: string, options?: O): RestResponse;\n\n /**\n * HTTP GET /api/kontent/project/management/{project_id}/webhooks\n * Java method: cloud.xtm.kontent.backend.projects.app.api.KontentProjectManagementController.getWebhookList\n */\n getWebhookList(project_id: string, options?: O): RestResponse;\n\n /**\n * HTTP GET /api/kontent/project/management/{project_id}/workflow\n * Java method: cloud.xtm.kontent.backend.projects.app.api.KontentProjectManagementController.getWorkflowStepList\n */\n getWorkflowStepList(project_id: string, options?: O): RestResponse;\n\n /**\n * HTTP GET /api/kontent/project/specification/languages/{projectId}\n * Java method: cloud.xtm.kontent.backend.projects.app.api.KontentProjectSpecificationController.getProjectLanguageMapping\n */\n getProjectLanguageMapping(projectId: string, options?: O): RestResponse;\n\n /**\n * HTTP GET /api/kontent/project/specification/types/{projectId}\n * Java method: cloud.xtm.kontent.backend.projects.app.api.KontentProjectSpecificationController.getProjectTypes\n */\n getProjectTypes(projectId: string, options?: O): RestResponse;\n\n /**\n * HTTP GET /api/kontent/project/specification/workflows/{projectId}\n * Java method: cloud.xtm.kontent.backend.projects.app.api.KontentProjectSpecificationController.getProjectWorkflows\n */\n getProjectWorkflows(projectId: string, options?: O): RestResponse;\n\n /**\n * HTTP POST /api/kontent/projects\n * Java method: cloud.xtm.kontent.backend.projects.app.api.KontentProjectController.createProject\n */\n createProject(createProject: CreateOrUpdateProjectDTO, options?: O): RestResponse;\n\n /**\n * HTTP GET /api/kontent/projects\n * Java method: cloud.xtm.kontent.backend.projects.app.api.KontentProjectController.getAllProjectsByClientId\n */\n getAllProjectsByClientId(queryParams: { clientUUID: string; }, options?: O): RestResponse;\n\n /**\n * HTTP GET /api/kontent/projects/apikey/{kontentProjectId}\n * Java method: cloud.xtm.kontent.backend.projects.app.api.KontentApiKeyController.getApiKey\n */\n getApiKey(kontentProjectId: string, options?: O): RestResponse;\n\n /**\n * HTTP POST /api/kontent/projects/connect\n * Java method: cloud.xtm.kontent.backend.projects.app.api.KontentApiKeyController.connectKontentProject\n */\n connectKontentProject(queryParams: { managementApiKey: string; deliveryApiKey: string; kontentProjectId: string; }, options?: O): RestResponse;\n\n /**\n * HTTP GET /api/kontent/projects/kontentId/{kontentProjectId}\n * Java method: cloud.xtm.kontent.backend.projects.app.api.KontentProjectController.getProjectByKontentProjectId\n */\n getProjectByKontentProjectId(kontentProjectId: string, options?: O): RestResponse;\n\n /**\n * HTTP GET /api/kontent/projects/pageable\n * Java method: cloud.xtm.kontent.backend.projects.app.api.KontentProjectController.getAllProjects\n */\n getAllProjects(queryParams?: { search?: string; page?: number; size?: number; sort?: string; }, options?: O): RestResponse>;\n\n /**\n * HTTP GET /api/kontent/projects/user\n * Java method: cloud.xtm.kontent.backend.projects.app.api.KontentProjectController.getAllActiveProjectsByUserId\n */\n getAllActiveProjectsByUserId(options?: O): RestResponse;\n\n /**\n * HTTP DELETE /api/kontent/projects/{projectId}\n * Java method: cloud.xtm.kontent.backend.projects.app.api.KontentProjectController.deleteProject\n */\n deleteProject(projectId: string, options?: O): RestResponse;\n\n /**\n * HTTP GET /api/kontent/projects/{projectId}\n * Java method: cloud.xtm.kontent.backend.projects.app.api.KontentProjectController.getProject\n */\n getProject(projectId: string, options?: O): RestResponse;\n\n /**\n * HTTP PUT /api/kontent/projects/{projectId}\n * Java method: cloud.xtm.kontent.backend.projects.app.api.KontentProjectController.updateProject\n */\n updateProject(projectId: string, updateProject: CreateOrUpdateProjectDTO, options?: O): RestResponse;\n\n /**\n * HTTP POST /api/kontent/webhook/item/translate/workflowstepevent\n * Java method: cloud.xtm.kontent.backend.webhook.app.api.KontentWebhookItemController.translateItemOnWorkflowStepEvent\n */\n translateItemOnWorkflowStepEvent(rawBody: string, queryParams: { source_language: string; target_languages: string[]; xtm_customer_id?: number; xtm_template_id?: number; due_date?: number; project_name?: string; description?: string; update_xtm_project?: boolean; workflow_step?: string; }, options?: O): RestResponse;\n\n /**\n * HTTP POST /api/notifications/admin/send-reset-password-email\n * Java method: cloud.xtm.kontent.backend.notification.app.api.NotificationController.sendResetPasswordEmailForAdmin\n */\n sendResetPasswordEmailForAdmin(resetPassword: ResetPasswordDTO, options?: O): RestResponse;\n\n /**\n * HTTP POST /api/notifications/change-password\n * Java method: cloud.xtm.kontent.backend.notification.app.api.NotificationController.changePassword\n */\n changePassword(changePassword: ChangePasswordDTO, options?: O): RestResponse;\n\n /**\n * HTTP POST /api/notifications/send-reset-password-email\n * Java method: cloud.xtm.kontent.backend.notification.app.api.NotificationController.sendResetPasswordEmail\n */\n sendResetPasswordEmail(resetPassword: ResetPasswordDTO, options?: O): RestResponse;\n\n /**\n * HTTP POST /api/notifications/verify-reset-password-token\n * Java method: cloud.xtm.kontent.backend.notification.app.api.NotificationController.verifyResetPasswordToken\n */\n verifyResetPasswordToken(verifyToken: VerifyTokenDTO, options?: O): RestResponse;\n\n /**\n * HTTP GET /api/parametrization/admin-panel-connector-url\n * Java method: cloud.xtm.kontent.backend.parametrization.app.api.AdminPanelParametrizationController.getAdminPanelConnectorUrl\n */\n getAdminPanelConnectorUrl(options?: O): RestResponse;\n\n /**\n * HTTP POST /api/projects/action-for-changed-kontents\n * Java method: cloud.xtm.kontent.backend.jobs.app.api.ProjectsController.performActionForChangedKontentProjects\n */\n performActionForChangedKontentProjects(request: ChangedKontentRequest, options?: O): RestResponse;\n\n /**\n * HTTP POST /api/projects/filter\n * Java method: cloud.xtm.kontent.backend.jobs.app.api.ProjectsController.filterProjects\n */\n filterProjects(filteringParamsDTO: FilteringParamsDTO, queryParams: { kontentProjectUUID: string; forceUpdate?: boolean; page?: number; size?: number; sort?: string; }, options?: O): RestResponse>;\n\n /**\n * HTTP POST /api/projects/report\n * Java method: cloud.xtm.kontent.backend.jobs.app.api.ProjectsController.generateReport\n */\n generateReport(filteringParamsDTO: FilteringParamsDTO, queryParams: { kontentProjectUUID: string; }, options?: O): RestResponse;\n\n /**\n * HTTP PUT /api/projects/{projectId}\n * Java method: cloud.xtm.kontent.backend.jobs.app.api.ProjectsController.addTargetLanguages\n */\n addTargetLanguages(projectId: string, queryParams: { newTargetLanguages: string[]; }, options?: O): RestResponse;\n\n /**\n * HTTP GET /api/projects/{projectId}/get-changed-kontent-products\n * Java method: cloud.xtm.kontent.backend.jobs.app.api.ProjectsController.getChangedKontentProducts\n */\n getChangedKontentProducts(projectId: string, queryParams: { sort: boolean; }, options?: O): RestResponse;\n\n /**\n * HTTP PUT /api/projects/{projectId}/remove-target-languages\n * Java method: cloud.xtm.kontent.backend.jobs.app.api.ProjectsController.removeTargetLanguagesTargetLanguages\n */\n removeTargetLanguagesTargetLanguages(projectId: string, queryParams: { targetLanguagesToRemove: string[]; }, options?: O): RestResponse;\n\n /**\n * HTTP PUT /api/projects/{projectId}/update-due-date\n * Java method: cloud.xtm.kontent.backend.jobs.app.api.ProjectsController.updateDueDateForProject\n */\n updateDueDateForProject(projectId: string, queryParams: { newDueDate: Date; }, options?: O): RestResponse;\n\n /**\n * HTTP POST /api/translations/add-to-queue\n * Java method: cloud.xtm.kontent.backend.translation.app.api.XTMTranslationController.addToQueue\n */\n addToQueue(translateRequest: TranslateRequestDTO, options?: O): RestResponse;\n\n /**\n * HTTP POST /api/translations/translate\n * Java method: cloud.xtm.kontent.backend.translation.app.api.XTMTranslationController.translate\n */\n translate(translateRequest: TranslateRequestDTO, options?: O): RestResponse;\n\n /**\n * HTTP POST /api/users\n * Java method: cloud.xtm.kontent.backend.users.app.api.UserController.createUser\n */\n createUser(createUser: CreateUserDTO, options?: O): RestResponse;\n\n /**\n * HTTP GET /api/users\n * Java method: cloud.xtm.kontent.backend.users.app.api.UserController.getAllUsersList\n */\n getAllUsersList(queryParams: { clientUUID: string; }, options?: O): RestResponse;\n\n /**\n * HTTP GET /api/users/due-date-change\n * Java method: cloud.xtm.kontent.backend.users.app.api.UserController.getAllowDueDateChangeForCurrentUser\n */\n getAllowDueDateChangeForCurrentUser(options?: O): RestResponse;\n\n /**\n * HTTP GET /api/users/pageable\n * Java method: cloud.xtm.kontent.backend.users.app.api.UserController.getAllUsers\n */\n getAllUsers(queryParams?: { search?: string; page?: number; size?: number; sort?: string; }, options?: O): RestResponse>;\n\n /**\n * HTTP GET /api/users/project-prefix\n * Java method: cloud.xtm.kontent.backend.users.app.api.UserController.getProjectPrefixForCurrentUser\n */\n getProjectPrefixForCurrentUser(options?: O): RestResponse;\n\n /**\n * HTTP GET /api/users/requester-list\n * Java method: cloud.xtm.kontent.backend.users.app.api.UserController.getRequestersForProject\n */\n getRequestersForProject(queryParams: { kontentProjectUUID: string; }, options?: O): RestResponse;\n\n /**\n * HTTP DELETE /api/users/{userId}\n * Java method: cloud.xtm.kontent.backend.users.app.api.UserController.deleteUser\n */\n deleteUser(userId: string, options?: O): RestResponse;\n\n /**\n * HTTP PUT /api/users/{userId}\n * Java method: cloud.xtm.kontent.backend.users.app.api.UserController.editUser\n */\n editUser(userId: string, updateUser: UpdateUserDTO, options?: O): RestResponse;\n\n /**\n * HTTP GET /api/users/{userId}\n * Java method: cloud.xtm.kontent.backend.users.app.api.UserController.getUser\n */\n getUser(userId: string, options?: O): RestResponse;\n\n /**\n * HTTP GET /api/xtm/callbacks/jobs/{clientId}\n * Java method: cloud.xtm.kontent.backend.integration.xtm.callback.app.api.XTMCallbackController.getJobFinishedCallback\n */\n getJobFinishedCallback(clientId: string, queryParams: { xtmJobId: number; xtmProjectId: number; }, options?: O): RestResponse;\n\n /**\n * HTTP POST /api/xtm/callbacks/project/analysis/finished/{clientId}\n * Java method: cloud.xtm.kontent.backend.integration.xtm.callback.app.api.XTMCallbackController.analysisFinished\n */\n analysisFinished(clientId: string, queryParams: { xtmCustomerId: number; xtmProjectId: number; }, options?: O): RestResponse;\n\n /**\n * HTTP POST /api/xtm/callbacks/workflow/{clientId}\n * Java method: cloud.xtm.kontent.backend.integration.xtm.callback.app.api.XTMCallbackController.updateWorkflow\n */\n updateWorkflow(clientId: string, queryParams: { additionalData: string; xtmCustomerId: number; xtmProjectId: number; }, options?: O): RestResponse;\n\n /**\n * HTTP POST /api/xtm/connect\n * Java method: cloud.xtm.kontent.backend.integration.xtm.auth.app.api.XTMConnectController.connectToXtm\n */\n connectToXtm(xtmConnectRequest: XTMConnectRequest, options?: O): RestResponse;\n\n /**\n * HTTP GET /api/xtm/connect/{userId}\n * Java method: cloud.xtm.kontent.backend.integration.xtm.auth.app.api.XTMConnectController.getXTMConnectionParameters\n */\n getXTMConnectionParameters(userId: string, options?: O): RestResponse;\n\n /**\n * HTTP POST /api/xtm/connect/{userId}\n * Java method: cloud.xtm.kontent.backend.integration.xtm.auth.app.api.XTMConnectController.reconnectToXtm\n */\n reconnectToXtm(userId: string, xtmConnectRequest: XTMConnectRequest, options?: O): RestResponse;\n\n /**\n * HTTP GET /api/xtm/customers\n * Java method: cloud.xtm.kontent.backend.integration.xtm.customers.app.api.XTMCustomersController.getXTMCustomers\n */\n getXTMCustomers$GET$api_xtm_customers(queryParams: { xtmAuthId: string; }, options?: O): RestResponse;\n\n /**\n * HTTP GET /api/xtm/customers/current-user\n * Java method: cloud.xtm.kontent.backend.integration.xtm.customers.app.api.XTMCustomersController.getXTMCustomersForCurrentUser\n */\n getXTMCustomersForCurrentUser(options?: O): RestResponse;\n\n /**\n * HTTP GET /api/xtm/customers/{userId}\n * Java method: cloud.xtm.kontent.backend.integration.xtm.customers.app.api.XTMCustomersController.getXTMCustomersForExistingUser\n */\n getXTMCustomersForExistingUser(userId: string, options?: O): RestResponse;\n\n /**\n * HTTP GET /api/xtm/languages/languages\n * Java method: cloud.xtm.kontent.backend.integration.xtm.languages.app.api.LanguageController.getLanguages\n */\n getLanguages(options?: O): RestResponse;\n\n /**\n * HTTP GET /api/xtm/templates\n * Java method: cloud.xtm.kontent.backend.integration.xtm.templates.app.api.XTMTemplatesController.getXTMTemplates\n */\n getXTMTemplates(queryParams: { xtmAuthId: string; xtmCustomerIds: number[]; }, options?: O): RestResponse<{ [index: string]: XTMTemplateDTO[] }>;\n\n /**\n * HTTP GET /api/xtm/workflows\n * Java method: cloud.xtm.kontent.backend.integration.xtm.workflow.app.api.WorkflowsController.getXTMWorkflowSteps\n */\n getXTMWorkflowSteps(options?: O): RestResponse;\n}\n\nexport interface HttpClient {\n\n request(requestConfig: { method: string; url: string; queryParams?: any; data?: any; copyFn?: (data: R) => R; options?: O; }): RestResponse;\n}\n\nexport class RestApplicationClient implements RestApplication {\n\n constructor(protected httpClient: HttpClient) {\n }\n\n /**\n * HTTP GET /\n * Java method: cloud.xtm.kontent.backend.common.app.api.RootController.getRoot\n */\n getRoot(options?: O): RestResponse {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding``, options: options });\n }\n\n /**\n * HTTP GET /api\n * Java method: cloud.xtm.kontent.backend.common.app.api.RootController.getApiRoot\n */\n getApiRoot(options?: O): RestResponse {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`api`, options: options });\n }\n\n /**\n * HTTP POST /api/administrators\n * Java method: cloud.xtm.kontent.backend.administrators.app.api.ClientAdministratorController.createAdministrator\n */\n createAdministrator(createAdministrator: CreateAdministratorDTO, options?: O): RestResponse {\n return this.httpClient.request({ method: \"POST\", url: uriEncoding`api/administrators`, data: createAdministrator, options: options });\n }\n\n /**\n * HTTP GET /api/administrators/pageable\n * Java method: cloud.xtm.kontent.backend.administrators.app.api.ClientAdministratorController.getAllAdministrators\n */\n getAllAdministrators(queryParams?: { search?: string; page?: number; size?: number; sort?: string; }, options?: O): RestResponse> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`api/administrators/pageable`, queryParams: queryParams, options: options });\n }\n\n /**\n * HTTP DELETE /api/administrators/{administratorId}\n * Java method: cloud.xtm.kontent.backend.administrators.app.api.ClientAdministratorController.deleteAdministrator\n */\n deleteAdministrator(administratorId: string, options?: O): RestResponse {\n return this.httpClient.request({ method: \"DELETE\", url: uriEncoding`api/administrators/${administratorId}`, options: options });\n }\n\n /**\n * HTTP PUT /api/administrators/{administratorId}\n * Java method: cloud.xtm.kontent.backend.administrators.app.api.ClientAdministratorController.editAdministrator\n */\n editAdministrator(administratorId: string, updateAdministrator: UpdateAdministratorDTO, options?: O): RestResponse {\n return this.httpClient.request({ method: \"PUT\", url: uriEncoding`api/administrators/${administratorId}`, data: updateAdministrator, options: options });\n }\n\n /**\n * HTTP GET /api/administrators/{administratorId}\n * Java method: cloud.xtm.kontent.backend.administrators.app.api.ClientAdministratorController.getAdministrator\n */\n getAdministrator(administratorId: string, options?: O): RestResponse {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`api/administrators/${administratorId}`, options: options });\n }\n\n /**\n * HTTP POST /api/auth/admin\n * Java method: cloud.xtm.kontent.backend.auth.app.api.AuthController.authenticateAdmin\n */\n authenticateAdmin(authRequest: AuthenticationRequest, options?: O): RestResponse {\n return this.httpClient.request({ method: \"POST\", url: uriEncoding`api/auth/admin`, data: authRequest, options: options });\n }\n\n /**\n * HTTP GET /api/auth/refreshToken\n * Java method: cloud.xtm.kontent.backend.auth.app.api.AuthController.refreshToken\n */\n refreshToken(options?: O): RestResponse {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`api/auth/refreshToken`, options: options });\n }\n\n /**\n * HTTP POST /api/auth/user\n * Java method: cloud.xtm.kontent.backend.auth.app.api.AuthController.authenticateUser\n */\n authenticateUser(authRequest: UserAuthenticationRequest, options?: O): RestResponse {\n return this.httpClient.request({ method: \"POST\", url: uriEncoding`api/auth/user`, data: authRequest, options: options });\n }\n\n /**\n * HTTP POST /api/client\n * Java method: cloud.xtm.kontent.backend.clients.app.api.ClientController.createClient\n */\n createClient(createClient: CreateClientDTO, options?: O): RestResponse {\n return this.httpClient.request({ method: \"POST\", url: uriEncoding`api/client`, data: createClient, options: options });\n }\n\n /**\n * HTTP GET /api/client\n * Java method: cloud.xtm.kontent.backend.clients.app.api.ClientController.getAllClients\n */\n getAllClients$GET$api_client(options?: O): RestResponse {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`api/client`, options: options });\n }\n\n /**\n * HTTP GET /api/client/pageable\n * Java method: cloud.xtm.kontent.backend.clients.app.api.ClientController.getAllClients\n */\n getAllClients$GET$api_client_pageable(queryParams?: { search?: string; page?: number; size?: number; sort?: string; }, options?: O): RestResponse> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`api/client/pageable`, queryParams: queryParams, options: options });\n }\n\n /**\n * HTTP DELETE /api/client/{clientId}\n * Java method: cloud.xtm.kontent.backend.clients.app.api.ClientController.deleteClient\n */\n deleteClient(clientId: string, options?: O): RestResponse {\n return this.httpClient.request({ method: \"DELETE\", url: uriEncoding`api/client/${clientId}`, options: options });\n }\n\n /**\n * HTTP PUT /api/client/{clientId}\n * Java method: cloud.xtm.kontent.backend.clients.app.api.ClientController.editClient\n */\n editClient(clientId: string, updateClient: UpdateClientDTO, options?: O): RestResponse {\n return this.httpClient.request({ method: \"PUT\", url: uriEncoding`api/client/${clientId}`, data: updateClient, options: options });\n }\n\n /**\n * HTTP GET /api/client/{clientId}\n * Java method: cloud.xtm.kontent.backend.clients.app.api.ClientController.getClient\n */\n getClient(clientId: string, options?: O): RestResponse {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`api/client/${clientId}`, options: options });\n }\n\n /**\n * HTTP GET /api/content/customers\n * Java method: cloud.xtm.kontent.backend.integration.xtm.content.api.XTMAddContentController.getXTMCustomers\n */\n getXTMCustomers$GET$api_content_customers(options?: O): RestResponse {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`api/content/customers`, options: options });\n }\n\n /**\n * HTTP POST /api/content/entries/verify\n * Java method: cloud.xtm.kontent.backend.integration.xtm.content.api.XTMAddContentController.verify\n */\n verify(xtmProject: XTMProjectVerifyDTO, options?: O): RestResponse {\n return this.httpClient.request({ method: \"POST\", url: uriEncoding`api/content/entries/verify`, data: xtmProject, options: options });\n }\n\n /**\n * HTTP POST /api/content/projects/active\n * Java method: cloud.xtm.kontent.backend.integration.xtm.content.api.XTMAddContentController.getActiveXTMProjects\n */\n getActiveXTMProjects(activeProjectSearch: ActiveProjectSearchDTO, options?: O): RestResponse {\n return this.httpClient.request({ method: \"POST\", url: uriEncoding`api/content/projects/active`, data: activeProjectSearch, options: options });\n }\n\n /**\n * HTTP GET /api/content/templates/{xtmCustomerId}\n * Java method: cloud.xtm.kontent.backend.integration.xtm.content.api.XTMAddContentController.getXTMTemplatesForExistingUser\n */\n getXTMTemplatesForExistingUser(xtmCustomerId: number, options?: O): RestResponse {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`api/content/templates/${xtmCustomerId}`, options: options });\n }\n\n /**\n * HTTP POST /api/contents/check-statuses\n * Java method: cloud.xtm.kontent.backend.jobs.app.api.ContentController.checkStatusesForContents\n */\n checkStatusesForContents(frontendIds: string[], options?: O): RestResponse {\n return this.httpClient.request({ method: \"POST\", url: uriEncoding`api/contents/check-statuses`, data: frontendIds, options: options });\n }\n\n /**\n * HTTP POST /api/jobs\n * Java method: cloud.xtm.kontent.backend.jobs.app.api.JobsController.performOperation\n */\n performOperation(request: MassOperationRequest, options?: O): RestResponse {\n return this.httpClient.request({ method: \"POST\", url: uriEncoding`api/jobs`, data: request, options: options });\n }\n\n /**\n * HTTP POST /api/jobs/action-for-changed-kontent\n * Java method: cloud.xtm.kontent.backend.jobs.app.api.JobsController.performActionForChangedKontentJobs\n */\n performActionForChangedKontentJobs(request: ChangedKontentRequest, options?: O): RestResponse {\n return this.httpClient.request({ method: \"POST\", url: uriEncoding`api/jobs/action-for-changed-kontent`, data: request, options: options });\n }\n\n /**\n * HTTP PUT /api/jobs/cancel-for-target-language\n * Java method: cloud.xtm.kontent.backend.jobs.app.api.JobsController.cancelForTargetLanguage\n */\n cancelForTargetLanguage(queryParams: { targetLanguage: string; projectId: string; }, options?: O): RestResponse {\n return this.httpClient.request({ method: \"PUT\", url: uriEncoding`api/jobs/cancel-for-target-language`, queryParams: queryParams, options: options });\n }\n\n /**\n * HTTP PUT /api/jobs/ignore-error-code\n * Java method: cloud.xtm.kontent.backend.jobs.app.api.JobsController.ignoreErrorCode\n */\n ignoreErrorCode(jobsErrorCodeIgnoreDTO: JobsErrorCodeIgnoreDTO, options?: O): RestResponse {\n return this.httpClient.request({ method: \"PUT\", url: uriEncoding`api/jobs/ignore-error-code`, data: jobsErrorCodeIgnoreDTO, options: options });\n }\n\n /**\n * HTTP POST /api/jobs/operation-applicable-for\n * Java method: cloud.xtm.kontent.backend.jobs.app.api.JobsController.findJobsIdsByOperationType\n */\n findJobsIdsByOperationType$POST$api_jobs_operationapplicablefor(request: MassOperationRequest, options?: O): RestResponse {\n return this.httpClient.request({ method: \"POST\", url: uriEncoding`api/jobs/operation-applicable-for`, data: request, options: options });\n }\n\n /**\n * HTTP GET /api/jobs/{jobId}/operation-applicable-for\n * Java method: cloud.xtm.kontent.backend.jobs.app.api.JobsController.findJobsIdsByOperationType\n */\n findJobsIdsByOperationType$GET$api_jobs_jobId_operationapplicablefor(jobId: string, queryParams: { jobOperation: JobOperation; }, options?: O): RestResponse {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`api/jobs/${jobId}/operation-applicable-for`, queryParams: queryParams, options: options });\n }\n\n /**\n * HTTP PUT /api/jobs/{jobId}/update-due-date\n * Java method: cloud.xtm.kontent.backend.jobs.app.api.JobsController.updateDueDateForJob\n */\n updateDueDateForJob(jobId: string, queryParams: { newDueDate: Date; }, options?: O): RestResponse {\n return this.httpClient.request({ method: \"PUT\", url: uriEncoding`api/jobs/${jobId}/update-due-date`, queryParams: queryParams, options: options });\n }\n\n /**\n * HTTP POST /api/kontent/connect\n * Java method: cloud.xtm.kontent.backend.integration.kontent.auth.app.api.KontentConnectController.connect\n */\n connect(connectRequest: KontentConnectRequest, options?: O): RestResponse {\n return this.httpClient.request({ method: \"POST\", url: uriEncoding`api/kontent/connect`, data: connectRequest, options: options });\n }\n\n /**\n * HTTP POST /api/kontent/connect/refresh\n * Java method: cloud.xtm.kontent.backend.integration.kontent.auth.app.api.KontentConnectController.refresh\n */\n refresh(options?: O): RestResponse {\n return this.httpClient.request({ method: \"POST\", url: uriEncoding`api/kontent/connect/refresh`, options: options });\n }\n\n /**\n * HTTP GET /api/kontent/connect/status\n * Java method: cloud.xtm.kontent.backend.integration.kontent.auth.app.api.KontentConnectController.status\n */\n status(options?: O): RestResponse {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`api/kontent/connect/status`, options: options });\n }\n\n /**\n * HTTP GET /api/kontent/item\n * Java method: cloud.xtm.kontent.backend.integration.kontent.item.api.KontentItemController.findKontentItem\n */\n findKontentItem(queryParams: { projectId: string; itemId: string; }, options?: O): RestResponse {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`api/kontent/item`, queryParams: queryParams, options: options });\n }\n\n /**\n * HTTP POST /api/kontent/item/languages\n * Java method: cloud.xtm.kontent.backend.integration.kontent.item.api.KontentItemController.getItemLanguageVariations\n */\n getItemLanguageVariations(queryParams: { projectId: string; itemId: string[]; }, options?: O): RestResponse {\n return this.httpClient.request({ method: \"POST\", url: uriEncoding`api/kontent/item/languages`, queryParams: queryParams, options: options });\n }\n\n /**\n * HTTP POST /api/kontent/item/publish\n * Java method: cloud.xtm.kontent.backend.integration.kontent.item.api.KontentItemController.publishKontentItemLanguageVariant\n */\n publishKontentItemLanguageVariant(kontentScheduledTime?: ScheduledTimeDTO, queryParams: { projectId: string; itemId: string; targetLang: string; }, options?: O): RestResponse {\n return this.httpClient.request({ method: \"POST\", url: uriEncoding`api/kontent/item/publish`, queryParams: queryParams, data: kontentScheduledTime, options: options });\n }\n\n /**\n * HTTP POST /api/kontent/item/workflow\n * Java method: cloud.xtm.kontent.backend.integration.kontent.item.api.KontentItemController.updateKontentItemLanguageVariantWorkflow\n */\n updateKontentItemLanguageVariantWorkflow(queryParams: { projectId: string; itemId: string; targetLang: string; workflowStepId: string; }, options?: O): RestResponse {\n return this.httpClient.request({ method: \"POST\", url: uriEncoding`api/kontent/item/workflow`, queryParams: queryParams, options: options });\n }\n\n /**\n * HTTP GET /api/kontent/project/delivery/uuid/{project_id}/languages\n * Java method: cloud.xtm.kontent.backend.projects.app.api.KontentProjectDeliveryController.getProjectLanguageList\n */\n getProjectLanguageList(project_id: string, options?: O): RestResponse {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`api/kontent/project/delivery/uuid/${project_id}/languages`, options: options });\n }\n\n /**\n * HTTP GET /api/kontent/project/delivery/uuid/{project_id}/taxonomies\n * Java method: cloud.xtm.kontent.backend.projects.app.api.KontentProjectDeliveryController.getTaxonomyListByKontentProject\n */\n getTaxonomyListByKontentProject(project_id: string, options?: O): RestResponse {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`api/kontent/project/delivery/uuid/${project_id}/taxonomies`, options: options });\n }\n\n /**\n * HTTP GET /api/kontent/project/delivery/uuid/{project_id}/types\n * Java method: cloud.xtm.kontent.backend.projects.app.api.KontentProjectDeliveryController.getContentTypesList\n */\n getContentTypesList(project_id: string, options?: O): RestResponse {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`api/kontent/project/delivery/uuid/${project_id}/types`, options: options });\n }\n\n /**\n * HTTP GET /api/kontent/project/delivery/{kontentProjectId}/languages\n * Java method: cloud.xtm.kontent.backend.projects.app.api.KontentProjectDeliveryController.getProjectLanguageListByKontentProject\n */\n getProjectLanguageListByKontentProject(kontentProjectId: string, options?: O): RestResponse {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`api/kontent/project/delivery/${kontentProjectId}/languages`, options: options });\n }\n\n /**\n * HTTP GET /api/kontent/project/delivery/{kontentProjectId}/types\n * Java method: cloud.xtm.kontent.backend.projects.app.api.KontentProjectDeliveryController.getContentTypesListByKontentProject\n */\n getContentTypesListByKontentProject(kontentProjectId: string, options?: O): RestResponse {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`api/kontent/project/delivery/${kontentProjectId}/types`, options: options });\n }\n\n /**\n * HTTP POST /api/kontent/project/delivery/{project_id}\n * Java method: cloud.xtm.kontent.backend.projects.app.api.KontentProjectDeliveryController.getItems\n */\n getItems(project_id: string, kontentItemsSearchDTO: KontentItemsSearchDTO, queryParams?: { page?: number; size?: number; sort?: string; }, options?: O): RestResponse> {\n return this.httpClient.request({ method: \"POST\", url: uriEncoding`api/kontent/project/delivery/${project_id}`, queryParams: queryParams, data: kontentItemsSearchDTO, options: options });\n }\n\n /**\n * HTTP GET /api/kontent/project/management/elementtypes\n * Java method: cloud.xtm.kontent.backend.projects.app.api.KontentProjectManagementController.getContentElementTypesList\n */\n getContentElementTypesList(options?: O): RestResponse {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`api/kontent/project/management/elementtypes`, options: options });\n }\n\n /**\n * HTTP GET /api/kontent/project/management/{project_id}\n * Java method: cloud.xtm.kontent.backend.projects.app.api.KontentProjectManagementController.getProjectInfo\n */\n getProjectInfo(project_id: string, options?: O): RestResponse {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`api/kontent/project/management/${project_id}`, options: options });\n }\n\n /**\n * HTTP GET /api/kontent/project/management/{project_id}/snippets\n * Java method: cloud.xtm.kontent.backend.projects.app.api.KontentProjectManagementController.getSnippetList\n */\n getSnippetList(project_id: string, options?: O): RestResponse {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`api/kontent/project/management/${project_id}/snippets`, options: options });\n }\n\n /**\n * HTTP GET /api/kontent/project/management/{project_id}/snippets/{snippet_identifier}\n * Java method: cloud.xtm.kontent.backend.projects.app.api.KontentProjectManagementController.getSnippet\n */\n getSnippet(project_id: string, snippet_identifier: string, options?: O): RestResponse {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`api/kontent/project/management/${project_id}/snippets/${snippet_identifier}`, options: options });\n }\n\n /**\n * HTTP GET /api/kontent/project/management/{project_id}/taxonomies\n * Java method: cloud.xtm.kontent.backend.projects.app.api.KontentProjectManagementController.getTaxonomies\n */\n getTaxonomies(project_id: string, options?: O): RestResponse {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`api/kontent/project/management/${project_id}/taxonomies`, options: options });\n }\n\n /**\n * HTTP GET /api/kontent/project/management/{project_id}/taxonomies/{taxonomy_group_identifier}\n * Java method: cloud.xtm.kontent.backend.projects.app.api.KontentProjectManagementController.getTaxonomy\n */\n getTaxonomy(project_id: string, taxonomy_group_identifier: string, options?: O): RestResponse {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`api/kontent/project/management/${project_id}/taxonomies/${taxonomy_group_identifier}`, options: options });\n }\n\n /**\n * HTTP GET /api/kontent/project/management/{project_id}/types/{type_identifier}\n * Java method: cloud.xtm.kontent.backend.projects.app.api.KontentProjectManagementController.getContentType\n */\n getContentType(project_id: string, type_identifier: string, options?: O): RestResponse {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`api/kontent/project/management/${project_id}/types/${type_identifier}`, options: options });\n }\n\n /**\n * HTTP GET /api/kontent/project/management/{project_id}/webhooks\n * Java method: cloud.xtm.kontent.backend.projects.app.api.KontentProjectManagementController.getWebhookList\n */\n getWebhookList(project_id: string, options?: O): RestResponse {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`api/kontent/project/management/${project_id}/webhooks`, options: options });\n }\n\n /**\n * HTTP GET /api/kontent/project/management/{project_id}/workflow\n * Java method: cloud.xtm.kontent.backend.projects.app.api.KontentProjectManagementController.getWorkflowStepList\n */\n getWorkflowStepList(project_id: string, options?: O): RestResponse {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`api/kontent/project/management/${project_id}/workflow`, options: options });\n }\n\n /**\n * HTTP GET /api/kontent/project/specification/languages/{projectId}\n * Java method: cloud.xtm.kontent.backend.projects.app.api.KontentProjectSpecificationController.getProjectLanguageMapping\n */\n getProjectLanguageMapping(projectId: string, options?: O): RestResponse {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`api/kontent/project/specification/languages/${projectId}`, options: options });\n }\n\n /**\n * HTTP GET /api/kontent/project/specification/types/{projectId}\n * Java method: cloud.xtm.kontent.backend.projects.app.api.KontentProjectSpecificationController.getProjectTypes\n */\n getProjectTypes(projectId: string, options?: O): RestResponse {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`api/kontent/project/specification/types/${projectId}`, options: options });\n }\n\n /**\n * HTTP GET /api/kontent/project/specification/workflows/{projectId}\n * Java method: cloud.xtm.kontent.backend.projects.app.api.KontentProjectSpecificationController.getProjectWorkflows\n */\n getProjectWorkflows(projectId: string, options?: O): RestResponse {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`api/kontent/project/specification/workflows/${projectId}`, options: options });\n }\n\n /**\n * HTTP POST /api/kontent/projects\n * Java method: cloud.xtm.kontent.backend.projects.app.api.KontentProjectController.createProject\n */\n createProject(createProject: CreateOrUpdateProjectDTO, options?: O): RestResponse {\n return this.httpClient.request({ method: \"POST\", url: uriEncoding`api/kontent/projects`, data: createProject, options: options });\n }\n\n /**\n * HTTP GET /api/kontent/projects\n * Java method: cloud.xtm.kontent.backend.projects.app.api.KontentProjectController.getAllProjectsByClientId\n */\n getAllProjectsByClientId(queryParams: { clientUUID: string; }, options?: O): RestResponse {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`api/kontent/projects`, queryParams: queryParams, options: options });\n }\n\n /**\n * HTTP GET /api/kontent/projects/apikey/{kontentProjectId}\n * Java method: cloud.xtm.kontent.backend.projects.app.api.KontentApiKeyController.getApiKey\n */\n getApiKey(kontentProjectId: string, options?: O): RestResponse {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`api/kontent/projects/apikey/${kontentProjectId}`, options: options });\n }\n\n /**\n * HTTP POST /api/kontent/projects/connect\n * Java method: cloud.xtm.kontent.backend.projects.app.api.KontentApiKeyController.connectKontentProject\n */\n connectKontentProject(queryParams: { managementApiKey: string; deliveryApiKey: string; kontentProjectId: string; }, options?: O): RestResponse {\n return this.httpClient.request({ method: \"POST\", url: uriEncoding`api/kontent/projects/connect`, queryParams: queryParams, options: options });\n }\n\n /**\n * HTTP GET /api/kontent/projects/kontentId/{kontentProjectId}\n * Java method: cloud.xtm.kontent.backend.projects.app.api.KontentProjectController.getProjectByKontentProjectId\n */\n getProjectByKontentProjectId(kontentProjectId: string, options?: O): RestResponse {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`api/kontent/projects/kontentId/${kontentProjectId}`, options: options });\n }\n\n /**\n * HTTP GET /api/kontent/projects/pageable\n * Java method: cloud.xtm.kontent.backend.projects.app.api.KontentProjectController.getAllProjects\n */\n getAllProjects(queryParams?: { search?: string; page?: number; size?: number; sort?: string; }, options?: O): RestResponse> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`api/kontent/projects/pageable`, queryParams: queryParams, options: options });\n }\n\n /**\n * HTTP GET /api/kontent/projects/user\n * Java method: cloud.xtm.kontent.backend.projects.app.api.KontentProjectController.getAllActiveProjectsByUserId\n */\n getAllActiveProjectsByUserId(options?: O): RestResponse {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`api/kontent/projects/user`, options: options });\n }\n\n /**\n * HTTP DELETE /api/kontent/projects/{projectId}\n * Java method: cloud.xtm.kontent.backend.projects.app.api.KontentProjectController.deleteProject\n */\n deleteProject(projectId: string, options?: O): RestResponse {\n return this.httpClient.request({ method: \"DELETE\", url: uriEncoding`api/kontent/projects/${projectId}`, options: options });\n }\n\n /**\n * HTTP GET /api/kontent/projects/{projectId}\n * Java method: cloud.xtm.kontent.backend.projects.app.api.KontentProjectController.getProject\n */\n getProject(projectId: string, options?: O): RestResponse {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`api/kontent/projects/${projectId}`, options: options });\n }\n\n /**\n * HTTP PUT /api/kontent/projects/{projectId}\n * Java method: cloud.xtm.kontent.backend.projects.app.api.KontentProjectController.updateProject\n */\n updateProject(projectId: string, updateProject: CreateOrUpdateProjectDTO, options?: O): RestResponse {\n return this.httpClient.request({ method: \"PUT\", url: uriEncoding`api/kontent/projects/${projectId}`, data: updateProject, options: options });\n }\n\n /**\n * HTTP POST /api/kontent/webhook/item/translate/workflowstepevent\n * Java method: cloud.xtm.kontent.backend.webhook.app.api.KontentWebhookItemController.translateItemOnWorkflowStepEvent\n */\n translateItemOnWorkflowStepEvent(rawBody: string, queryParams: { source_language: string; target_languages: string[]; xtm_customer_id?: number; xtm_template_id?: number; due_date?: number; project_name?: string; description?: string; update_xtm_project?: boolean; workflow_step?: string; }, options?: O): RestResponse {\n return this.httpClient.request({ method: \"POST\", url: uriEncoding`api/kontent/webhook/item/translate/workflowstepevent`, queryParams: queryParams, data: rawBody, options: options });\n }\n\n /**\n * HTTP POST /api/notifications/admin/send-reset-password-email\n * Java method: cloud.xtm.kontent.backend.notification.app.api.NotificationController.sendResetPasswordEmailForAdmin\n */\n sendResetPasswordEmailForAdmin(resetPassword: ResetPasswordDTO, options?: O): RestResponse {\n return this.httpClient.request({ method: \"POST\", url: uriEncoding`api/notifications/admin/send-reset-password-email`, data: resetPassword, options: options });\n }\n\n /**\n * HTTP POST /api/notifications/change-password\n * Java method: cloud.xtm.kontent.backend.notification.app.api.NotificationController.changePassword\n */\n changePassword(changePassword: ChangePasswordDTO, options?: O): RestResponse {\n return this.httpClient.request({ method: \"POST\", url: uriEncoding`api/notifications/change-password`, data: changePassword, options: options });\n }\n\n /**\n * HTTP POST /api/notifications/send-reset-password-email\n * Java method: cloud.xtm.kontent.backend.notification.app.api.NotificationController.sendResetPasswordEmail\n */\n sendResetPasswordEmail(resetPassword: ResetPasswordDTO, options?: O): RestResponse {\n return this.httpClient.request({ method: \"POST\", url: uriEncoding`api/notifications/send-reset-password-email`, data: resetPassword, options: options });\n }\n\n /**\n * HTTP POST /api/notifications/verify-reset-password-token\n * Java method: cloud.xtm.kontent.backend.notification.app.api.NotificationController.verifyResetPasswordToken\n */\n verifyResetPasswordToken(verifyToken: VerifyTokenDTO, options?: O): RestResponse {\n return this.httpClient.request({ method: \"POST\", url: uriEncoding`api/notifications/verify-reset-password-token`, data: verifyToken, options: options });\n }\n\n /**\n * HTTP GET /api/parametrization/admin-panel-connector-url\n * Java method: cloud.xtm.kontent.backend.parametrization.app.api.AdminPanelParametrizationController.getAdminPanelConnectorUrl\n */\n getAdminPanelConnectorUrl(options?: O): RestResponse {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`api/parametrization/admin-panel-connector-url`, options: options });\n }\n\n /**\n * HTTP POST /api/projects/action-for-changed-kontents\n * Java method: cloud.xtm.kontent.backend.jobs.app.api.ProjectsController.performActionForChangedKontentProjects\n */\n performActionForChangedKontentProjects(request: ChangedKontentRequest, options?: O): RestResponse {\n return this.httpClient.request({ method: \"POST\", url: uriEncoding`api/projects/action-for-changed-kontents`, data: request, options: options });\n }\n\n /**\n * HTTP POST /api/projects/filter\n * Java method: cloud.xtm.kontent.backend.jobs.app.api.ProjectsController.filterProjects\n */\n filterProjects(filteringParamsDTO: FilteringParamsDTO, queryParams: { kontentProjectUUID: string; forceUpdate?: boolean; page?: number; size?: number; sort?: string; }, options?: O): RestResponse> {\n return this.httpClient.request({ method: \"POST\", url: uriEncoding`api/projects/filter`, queryParams: queryParams, data: filteringParamsDTO, options: options });\n }\n\n /**\n * HTTP POST /api/projects/report\n * Java method: cloud.xtm.kontent.backend.jobs.app.api.ProjectsController.generateReport\n */\n generateReport(filteringParamsDTO: FilteringParamsDTO, queryParams: { kontentProjectUUID: string; }, options?: O): RestResponse {\n return this.httpClient.request({ method: \"POST\", url: uriEncoding`api/projects/report`, queryParams: queryParams, data: filteringParamsDTO, options: options });\n }\n\n /**\n * HTTP PUT /api/projects/{projectId}\n * Java method: cloud.xtm.kontent.backend.jobs.app.api.ProjectsController.addTargetLanguages\n */\n addTargetLanguages(projectId: string, queryParams: { newTargetLanguages: string[]; }, options?: O): RestResponse {\n return this.httpClient.request({ method: \"PUT\", url: uriEncoding`api/projects/${projectId}`, queryParams: queryParams, options: options });\n }\n\n /**\n * HTTP GET /api/projects/{projectId}/get-changed-kontent-products\n * Java method: cloud.xtm.kontent.backend.jobs.app.api.ProjectsController.getChangedKontentProducts\n */\n getChangedKontentProducts(projectId: string, queryParams: { sort: boolean; }, options?: O): RestResponse {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`api/projects/${projectId}/get-changed-kontent-products`, queryParams: queryParams, options: options });\n }\n\n /**\n * HTTP PUT /api/projects/{projectId}/remove-target-languages\n * Java method: cloud.xtm.kontent.backend.jobs.app.api.ProjectsController.removeTargetLanguagesTargetLanguages\n */\n removeTargetLanguagesTargetLanguages(projectId: string, queryParams: { targetLanguagesToRemove: string[]; }, options?: O): RestResponse {\n return this.httpClient.request({ method: \"PUT\", url: uriEncoding`api/projects/${projectId}/remove-target-languages`, queryParams: queryParams, options: options });\n }\n\n /**\n * HTTP PUT /api/projects/{projectId}/update-due-date\n * Java method: cloud.xtm.kontent.backend.jobs.app.api.ProjectsController.updateDueDateForProject\n */\n updateDueDateForProject(projectId: string, queryParams: { newDueDate: Date; }, options?: O): RestResponse {\n return this.httpClient.request({ method: \"PUT\", url: uriEncoding`api/projects/${projectId}/update-due-date`, queryParams: queryParams, options: options });\n }\n\n /**\n * HTTP POST /api/translations/add-to-queue\n * Java method: cloud.xtm.kontent.backend.translation.app.api.XTMTranslationController.addToQueue\n */\n addToQueue(translateRequest: TranslateRequestDTO, options?: O): RestResponse {\n return this.httpClient.request({ method: \"POST\", url: uriEncoding`api/translations/add-to-queue`, data: translateRequest, options: options });\n }\n\n /**\n * HTTP POST /api/translations/translate\n * Java method: cloud.xtm.kontent.backend.translation.app.api.XTMTranslationController.translate\n */\n translate(translateRequest: TranslateRequestDTO, options?: O): RestResponse {\n return this.httpClient.request({ method: \"POST\", url: uriEncoding`api/translations/translate`, data: translateRequest, options: options });\n }\n\n /**\n * HTTP POST /api/users\n * Java method: cloud.xtm.kontent.backend.users.app.api.UserController.createUser\n */\n createUser(createUser: CreateUserDTO, options?: O): RestResponse {\n return this.httpClient.request({ method: \"POST\", url: uriEncoding`api/users`, data: createUser, options: options });\n }\n\n /**\n * HTTP GET /api/users\n * Java method: cloud.xtm.kontent.backend.users.app.api.UserController.getAllUsersList\n */\n getAllUsersList(queryParams: { clientUUID: string; }, options?: O): RestResponse {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`api/users`, queryParams: queryParams, options: options });\n }\n\n /**\n * HTTP GET /api/users/due-date-change\n * Java method: cloud.xtm.kontent.backend.users.app.api.UserController.getAllowDueDateChangeForCurrentUser\n */\n getAllowDueDateChangeForCurrentUser(options?: O): RestResponse {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`api/users/due-date-change`, options: options });\n }\n\n /**\n * HTTP GET /api/users/pageable\n * Java method: cloud.xtm.kontent.backend.users.app.api.UserController.getAllUsers\n */\n getAllUsers(queryParams?: { search?: string; page?: number; size?: number; sort?: string; }, options?: O): RestResponse> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`api/users/pageable`, queryParams: queryParams, options: options });\n }\n\n /**\n * HTTP GET /api/users/project-prefix\n * Java method: cloud.xtm.kontent.backend.users.app.api.UserController.getProjectPrefixForCurrentUser\n */\n getProjectPrefixForCurrentUser(options?: O): RestResponse {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`api/users/project-prefix`, options: options });\n }\n\n /**\n * HTTP GET /api/users/requester-list\n * Java method: cloud.xtm.kontent.backend.users.app.api.UserController.getRequestersForProject\n */\n getRequestersForProject(queryParams: { kontentProjectUUID: string; }, options?: O): RestResponse {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`api/users/requester-list`, queryParams: queryParams, options: options });\n }\n\n /**\n * HTTP DELETE /api/users/{userId}\n * Java method: cloud.xtm.kontent.backend.users.app.api.UserController.deleteUser\n */\n deleteUser(userId: string, options?: O): RestResponse {\n return this.httpClient.request({ method: \"DELETE\", url: uriEncoding`api/users/${userId}`, options: options });\n }\n\n /**\n * HTTP PUT /api/users/{userId}\n * Java method: cloud.xtm.kontent.backend.users.app.api.UserController.editUser\n */\n editUser(userId: string, updateUser: UpdateUserDTO, options?: O): RestResponse {\n return this.httpClient.request({ method: \"PUT\", url: uriEncoding`api/users/${userId}`, data: updateUser, options: options });\n }\n\n /**\n * HTTP GET /api/users/{userId}\n * Java method: cloud.xtm.kontent.backend.users.app.api.UserController.getUser\n */\n getUser(userId: string, options?: O): RestResponse {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`api/users/${userId}`, options: options });\n }\n\n /**\n * HTTP GET /api/xtm/callbacks/jobs/{clientId}\n * Java method: cloud.xtm.kontent.backend.integration.xtm.callback.app.api.XTMCallbackController.getJobFinishedCallback\n */\n getJobFinishedCallback(clientId: string, queryParams: { xtmJobId: number; xtmProjectId: number; }, options?: O): RestResponse {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`api/xtm/callbacks/jobs/${clientId}`, queryParams: queryParams, options: options });\n }\n\n /**\n * HTTP POST /api/xtm/callbacks/project/analysis/finished/{clientId}\n * Java method: cloud.xtm.kontent.backend.integration.xtm.callback.app.api.XTMCallbackController.analysisFinished\n */\n analysisFinished(clientId: string, queryParams: { xtmCustomerId: number; xtmProjectId: number; }, options?: O): RestResponse {\n return this.httpClient.request({ method: \"POST\", url: uriEncoding`api/xtm/callbacks/project/analysis/finished/${clientId}`, queryParams: queryParams, options: options });\n }\n\n /**\n * HTTP POST /api/xtm/callbacks/workflow/{clientId}\n * Java method: cloud.xtm.kontent.backend.integration.xtm.callback.app.api.XTMCallbackController.updateWorkflow\n */\n updateWorkflow(clientId: string, queryParams: { additionalData: string; xtmCustomerId: number; xtmProjectId: number; }, options?: O): RestResponse {\n return this.httpClient.request({ method: \"POST\", url: uriEncoding`api/xtm/callbacks/workflow/${clientId}`, queryParams: queryParams, options: options });\n }\n\n /**\n * HTTP POST /api/xtm/connect\n * Java method: cloud.xtm.kontent.backend.integration.xtm.auth.app.api.XTMConnectController.connectToXtm\n */\n connectToXtm(xtmConnectRequest: XTMConnectRequest, options?: O): RestResponse {\n return this.httpClient.request({ method: \"POST\", url: uriEncoding`api/xtm/connect`, data: xtmConnectRequest, options: options });\n }\n\n /**\n * HTTP GET /api/xtm/connect/{userId}\n * Java method: cloud.xtm.kontent.backend.integration.xtm.auth.app.api.XTMConnectController.getXTMConnectionParameters\n */\n getXTMConnectionParameters(userId: string, options?: O): RestResponse {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`api/xtm/connect/${userId}`, options: options });\n }\n\n /**\n * HTTP POST /api/xtm/connect/{userId}\n * Java method: cloud.xtm.kontent.backend.integration.xtm.auth.app.api.XTMConnectController.reconnectToXtm\n */\n reconnectToXtm(userId: string, xtmConnectRequest: XTMConnectRequest, options?: O): RestResponse {\n return this.httpClient.request({ method: \"POST\", url: uriEncoding`api/xtm/connect/${userId}`, data: xtmConnectRequest, options: options });\n }\n\n /**\n * HTTP GET /api/xtm/customers\n * Java method: cloud.xtm.kontent.backend.integration.xtm.customers.app.api.XTMCustomersController.getXTMCustomers\n */\n getXTMCustomers$GET$api_xtm_customers(queryParams: { xtmAuthId: string; }, options?: O): RestResponse {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`api/xtm/customers`, queryParams: queryParams, options: options });\n }\n\n /**\n * HTTP GET /api/xtm/customers/current-user\n * Java method: cloud.xtm.kontent.backend.integration.xtm.customers.app.api.XTMCustomersController.getXTMCustomersForCurrentUser\n */\n getXTMCustomersForCurrentUser(options?: O): RestResponse {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`api/xtm/customers/current-user`, options: options });\n }\n\n /**\n * HTTP GET /api/xtm/customers/{userId}\n * Java method: cloud.xtm.kontent.backend.integration.xtm.customers.app.api.XTMCustomersController.getXTMCustomersForExistingUser\n */\n getXTMCustomersForExistingUser(userId: string, options?: O): RestResponse {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`api/xtm/customers/${userId}`, options: options });\n }\n\n /**\n * HTTP GET /api/xtm/languages/languages\n * Java method: cloud.xtm.kontent.backend.integration.xtm.languages.app.api.LanguageController.getLanguages\n */\n getLanguages(options?: O): RestResponse {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`api/xtm/languages/languages`, options: options });\n }\n\n /**\n * HTTP GET /api/xtm/templates\n * Java method: cloud.xtm.kontent.backend.integration.xtm.templates.app.api.XTMTemplatesController.getXTMTemplates\n */\n getXTMTemplates(queryParams: { xtmAuthId: string; xtmCustomerIds: number[]; }, options?: O): RestResponse<{ [index: string]: XTMTemplateDTO[] }> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`api/xtm/templates`, queryParams: queryParams, options: options });\n }\n\n /**\n * HTTP GET /api/xtm/workflows\n * Java method: cloud.xtm.kontent.backend.integration.xtm.workflow.app.api.WorkflowsController.getXTMWorkflowSteps\n */\n getXTMWorkflowSteps(options?: O): RestResponse {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`api/xtm/workflows`, options: options });\n }\n}\n\nexport type RestResponse = Promise>;\n\nexport type JobOperation = \"CANCEL\" | \"DELETE\" | \"IMPORT\" | \"SEND\";\n\nexport type HttpStatus = \"CONTINUE\" | \"SWITCHING_PROTOCOLS\" | \"PROCESSING\" | \"CHECKPOINT\" | \"OK\" | \"CREATED\" | \"ACCEPTED\" | \"NON_AUTHORITATIVE_INFORMATION\" | \"NO_CONTENT\" | \"RESET_CONTENT\" | \"PARTIAL_CONTENT\" | \"MULTI_STATUS\" | \"ALREADY_REPORTED\" | \"IM_USED\" | \"MULTIPLE_CHOICES\" | \"MOVED_PERMANENTLY\" | \"FOUND\" | \"MOVED_TEMPORARILY\" | \"SEE_OTHER\" | \"NOT_MODIFIED\" | \"USE_PROXY\" | \"TEMPORARY_REDIRECT\" | \"PERMANENT_REDIRECT\" | \"BAD_REQUEST\" | \"UNAUTHORIZED\" | \"PAYMENT_REQUIRED\" | \"FORBIDDEN\" | \"NOT_FOUND\" | \"METHOD_NOT_ALLOWED\" | \"NOT_ACCEPTABLE\" | \"PROXY_AUTHENTICATION_REQUIRED\" | \"REQUEST_TIMEOUT\" | \"CONFLICT\" | \"GONE\" | \"LENGTH_REQUIRED\" | \"PRECONDITION_FAILED\" | \"PAYLOAD_TOO_LARGE\" | \"REQUEST_ENTITY_TOO_LARGE\" | \"URI_TOO_LONG\" | \"REQUEST_URI_TOO_LONG\" | \"UNSUPPORTED_MEDIA_TYPE\" | \"REQUESTED_RANGE_NOT_SATISFIABLE\" | \"EXPECTATION_FAILED\" | \"I_AM_A_TEAPOT\" | \"INSUFFICIENT_SPACE_ON_RESOURCE\" | \"METHOD_FAILURE\" | \"DESTINATION_LOCKED\" | \"UNPROCESSABLE_ENTITY\" | \"LOCKED\" | \"FAILED_DEPENDENCY\" | \"TOO_EARLY\" | \"UPGRADE_REQUIRED\" | \"PRECONDITION_REQUIRED\" | \"TOO_MANY_REQUESTS\" | \"REQUEST_HEADER_FIELDS_TOO_LARGE\" | \"UNAVAILABLE_FOR_LEGAL_REASONS\" | \"INTERNAL_SERVER_ERROR\" | \"NOT_IMPLEMENTED\" | \"BAD_GATEWAY\" | \"SERVICE_UNAVAILABLE\" | \"GATEWAY_TIMEOUT\" | \"HTTP_VERSION_NOT_SUPPORTED\" | \"VARIANT_ALSO_NEGOTIATES\" | \"INSUFFICIENT_STORAGE\" | \"LOOP_DETECTED\" | \"BANDWIDTH_LIMIT_EXCEEDED\" | \"NOT_EXTENDED\" | \"NETWORK_AUTHENTICATION_REQUIRED\";\n\nexport type Operation = \"CREATE_NEW\" | \"UPDATE\" | \"IGNORE\";\n\nexport type ContentElementType = \"text\" | \"rich_text\" | \"number\" | \"multiple_choice\" | \"date_time\" | \"asset\" | \"modular_content\" | \"custom\" | \"url_slug\" | \"guidelines\" | \"snippet\" | \"taxonomy\" | \"subpages\";\n\nexport type ActivityEnum = \"ACTIVE\" | \"ARCHIVED\" | \"AUTO_ARCHIVED\" | \"DELETED\" | \"INACTIVE\";\n\nexport type CompletionStatusEnum = \"IN_PROGRESS\" | \"PARTIALLY_FINISHED\" | \"FINISHED\" | \"NEW\";\n\nexport type AllowedFileType = \"adjustable\" | \"any\";\n\nexport type ContentElementMode = \"single\" | \"multiple\";\n\nexport type AllowedBlock = \"images\" | \"text\" | \"tables\" | \"components-and-items\";\n\nexport type AllowedTextBlock = \"paragraph\" | \"heading-one\" | \"heading-two\" | \"heading-three\" | \"heading-four\" | \"ordered-list\" | \"unordered-list\";\n\nexport type AllowedFormatting = \"unstyled\" | \"bold\" | \"italic\" | \"code\" | \"link\" | \"subscript\" | \"superscript\";\n\nexport type AllowedTableBlock = \"images\" | \"text\";\n\nexport type XTMJobStatus = \"NEW\" | \"SENT\" | \"IN_PROGRESS\" | \"FINISHED\" | \"CANCELLED\";\n\nexport type AssetCondition = \"at_most\" | \"exactly\" | \"at_least\";\n\nexport type TextAppliedTo = \"words\" | \"characters\";\n\nexport type Direction = \"ASC\" | \"DESC\";\n\nexport type NullHandling = \"NATIVE\" | \"NULLS_FIRST\" | \"NULLS_LAST\";\n\nfunction uriEncoding(template: TemplateStringsArray, ...substitutions: any[]): string {\n let result = \"\";\n for (let i = 0; i < substitutions.length; i++) {\n result += template[i];\n result += encodeURIComponent(substitutions[i]);\n }\n result += template[template.length - 1];\n return result;\n}\n\n\n// Added by 'AxiosClientExtension' extension\n\nimport axios from \"axios\";\nimport * as Axios from \"axios\";\n\ndeclare module \"axios\" {\n export interface GenericAxiosResponse extends Axios.AxiosResponse {\n data: R;\n }\n}\n\nclass AxiosHttpClient implements HttpClient {\n\n constructor(private axios: Axios.AxiosInstance) {\n }\n\n request(requestConfig: { method: string; url: string; queryParams?: any; data?: any; copyFn?: (data: R) => R; options?: Axios.AxiosRequestConfig; }): RestResponse {\n function assign(target: any, source?: any) {\n if (source != undefined) {\n for (const key in source) {\n if (source.hasOwnProperty(key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n }\n\n const config: Axios.AxiosRequestConfig = {};\n config.method = requestConfig.method as typeof config.method; // `string` in axios 0.16.0, `Method` in axios 0.19.0\n config.url = requestConfig.url;\n config.params = requestConfig.queryParams;\n config.data = requestConfig.data;\n assign(config, requestConfig.options);\n const copyFn = requestConfig.copyFn;\n\n const axiosResponse = this.axios.request(config);\n return axiosResponse.then(axiosResponse => {\n if (copyFn && axiosResponse.data) {\n (axiosResponse as any).originalData = axiosResponse.data;\n axiosResponse.data = copyFn(axiosResponse.data);\n }\n return axiosResponse;\n });\n }\n}\n\nexport class AxiosRestApplicationClient extends RestApplicationClient {\n\n constructor(baseURL: string, axiosInstance: Axios.AxiosInstance = axios.create()) {\n axiosInstance.defaults.baseURL = baseURL;\n super(new AxiosHttpClient(axiosInstance));\n }\n}\n","import Axios, { AxiosRequestConfig, AxiosResponse } from 'axios';\nimport { AuthenticationResult, AxiosRestApplicationClient } from './restApplicationClient';\n\nconst axiosInstance = Axios.create();\nexport const tokenStorageKey = '___TOKEN_KEY___';\nexport const refreshTokenStorageKey = '___TOKEN2_KEY___';\nexport const tokenTtlStorageKey = '___TOKEN3_KEY___';\n\n/**\n * Query parameter parser\n *\n * @param parameters - query parameters object\n */\nconst stringifyParameters = (parameters: Record): string => {\n const keys = Object.keys(parameters);\n return keys\n .map((key: keyof typeof parameters) => {\n const value = parameters[key];\n if (Array.isArray(value)) {\n return `${key}=${value.join(',')}`;\n }\n return `${key}=${value}`;\n })\n .join('&');\n};\n\n/**\n * request interceptor\n *\n * @param config - axios default configuration\n */\nconst requestInterceptor = (config: AxiosRequestConfig): AxiosRequestConfig => {\n let headers: AxiosRequestConfig['headers'];\n const accessToken = localStorage.getItem(tokenStorageKey);\n const refreshToken = localStorage.getItem(refreshTokenStorageKey);\n\n if (config.url && config.url.includes('refreshToken')) {\n headers = {\n Authorization: `${accessToken}`,\n 'X-Authorization': `${refreshToken}`,\n };\n } else {\n headers = {\n Authorization: `Bearer ${accessToken}`,\n };\n }\n\n config.paramsSerializer = (parameters) => stringifyParameters(parameters);\n\n config.headers = headers;\n return config;\n};\n\n/**\n * response interceptor\n *\n * @param response - axios response\n */\nconst responseInterceptor = (response: AxiosResponse): AxiosResponse => {\n if (response.config.url === 'api/auth/admin' || response.config.url === 'api/auth/refreshToken') {\n const { accessToken, refreshToken, ttl } = response.data as AuthenticationResult;\n localStorage.setItem(tokenStorageKey, accessToken);\n localStorage.setItem(refreshTokenStorageKey, refreshToken);\n localStorage.setItem(tokenTtlStorageKey, String(ttl));\n }\n\n return response;\n};\n\naxiosInstance.interceptors.request.use(requestInterceptor);\naxiosInstance.interceptors.response.use(responseInterceptor);\n\nconst baseUrl = '/';\n\n// eslint-disable-next-line require-jsdoc\nexport const clearToken = (): void => {\n localStorage.removeItem(tokenStorageKey);\n localStorage.removeItem(refreshTokenStorageKey);\n localStorage.removeItem(tokenTtlStorageKey);\n};\n\n// eslint-disable-next-line require-jsdoc\nexport const getTTL = (): number => {\n return Number(localStorage.getItem(tokenTtlStorageKey));\n};\n\nexport const api = new AxiosRestApplicationClient(baseUrl, axiosInstance);\nexport default axiosInstance;\n","/** @jsx jsx */\nimport { jsx } from '@emotion/core';\nimport { AppBar } from '@material-ui/core';\nimport Help from 'icons/Help';\nimport Logout from 'icons/Logout';\nimport ReleaseNotes from 'icons/ReleaseNotes';\nimport { Dispatch, PureComponent, ReactNode } from 'react';\nimport { withTranslation, WithTranslation } from 'react-i18next';\nimport { connect } from 'react-redux';\nimport { AppDispatch } from 'store';\nimport { logoutUser } from 'store/user/user.actions';\nimport { tokenStorageKey } from 'utils/axiosInstance';\nimport { getAllEnvironment } from 'utils/envHandler';\nimport loginHeaderStyle, { HeaderButton, HeaderLogoutButton } from './LoginHeader.style';\n\ninterface IProps {\n children?: ReactNode;\n}\n\ninterface IDispatchProps {\n logout: () => void;\n}\n\ntype PropType = IProps & WithTranslation & IDispatchProps;\n\nclass LoginHeader extends PureComponent {\n handleOpenLink = (url: string) => (): void => {\n window.open(url, '_blank');\n };\n\n handleLogout = (): void => {\n this.props.logout();\n };\n\n render(): JSX.Element {\n const { t } = this.props;\n const { REACT_APP_HELP_URL, REACT_APP_CHANGELOG_URL } = getAllEnvironment();\n const token = localStorage.getItem(tokenStorageKey);\n\n return (\n \n
\n \n \n {t('common.title')} {t('common.version', { version: process.env.REACT_APP_VERSION })}\n \n
\n
\n {token && REACT_APP_CHANGELOG_URL && (\n \n \n {t('common.releaseNotes')}\n \n )}\n {token && REACT_APP_HELP_URL && (\n \n \n {t('common.help')}\n \n )}\n {token && (\n \n \n {t('common.logout')}\n \n )}\n
\n
\n );\n }\n}\n\nconst mapDispatchToProps = (dispatch: Dispatch): IDispatchProps => ({\n logout: (): void => dispatch(logoutUser()),\n});\n\nexport default connect(null, mapDispatchToProps)(withTranslation()(LoginHeader));\n","/**\n * Return string value either from .env file or window._env_ if defined\n *\n * @param key - Env variable key\n *\n */\nexport const getEnvironment = (key: string): string | undefined => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const env = (window as any)._env_;\n return env ? env[key] : process.env[key];\n};\n\n/**\n * Return all evnironmental variables either from .env file or window._env_ if defined\n */\nexport const getAllEnvironment = (): { [key: string]: string } => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return (window as any)._env_ || process.env;\n};\n","/** @jsx jsx */\nimport { jsx } from '@emotion/core';\nimport styled from '@emotion/styled';\nimport { PureComponent } from 'react';\nimport { withTranslation, WithTranslation } from 'react-i18next';\nimport { Link, LinkProps } from 'react-router-dom';\n\ninterface IProps {\n text: string;\n wide?: boolean;\n linkProps: React.PropsWithoutRef & React.RefAttributes;\n}\n\nclass CustomLink extends PureComponent {\n StyledDiv = styled.div`\n font-weight: bold;\n text-align: start;\n ${this.props.wide ? 'width: 100%;' : ''}\n\n & > a {\n transition: opacity 0.2s;\n }\n\n & > a:hover {\n opacity: 0.8;\n }\n `;\n\n render(): JSX.Element {\n const { t, text, linkProps } = this.props;\n return (\n \n {t(text)}\n \n );\n }\n}\n\nexport default withTranslation()(CustomLink);\n","/** @jsx jsx */\nimport { jsx } from '@emotion/core';\nimport styled from '@emotion/styled';\nimport { Fragment, PureComponent, ReactNode } from 'react';\n\ninterface IProps {\n children?: ReactNode;\n center?: boolean;\n width?: number;\n}\n\nclass FormDiv extends PureComponent {\n StyledDiv = styled.div`\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n width: ${this.props.width ? this.props.width : '700'}px;\n align-self: center;\n ${this.props.center ? 'margin: auto;' : ''}\n & form {\n width: 100%;\n }\n `;\n\n render(): JSX.Element {\n const { StyledDiv } = this;\n return (\n \n {this.props.children}\n \n );\n }\n}\n\nexport default FormDiv;\n","import { css } from '@emotion/core';\nimport styled from '@emotion/styled';\nimport {\n Checkbox,\n OutlinedTextFieldProps,\n Select,\n SelectProps,\n TextField,\n Typography,\n TypographyProps,\n} from '@material-ui/core';\nimport { DetailedHTMLProps, HTMLAttributes } from 'react';\n\ninterface FieldDivProps extends DetailedHTMLProps, HTMLDivElement> {\n column?: boolean;\n}\n\ninterface CustomAutocompleteTypographyProps extends TypographyProps {\n column?: boolean | string;\n component?: string;\n}\n\ninterface StyledSelectProps extends SelectProps {\n width?: string;\n}\n\ninterface StyledTextFieldProps extends OutlinedTextFieldProps {\n width?: string;\n}\n\ninterface StyledAutocompleteTextFieldProps {\n draggable?: boolean;\n}\n\nexport const CustomDraggableContainer = styled.div`\n display: flex;\n overflow: auto;\n margin-top: 5px;\n padding: 5px 0;\n border-top: 1px solid rgba(0, 0, 0, 0.23);\n width: 100%;\n\n &::-webkit-scrollbar-track {\n -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.15);\n box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.15);\n border-radius: 10px;\n background-color: #f5f5f5;\n }\n\n &::-webkit-scrollbar {\n height: 8px;\n background-color: #f5f5f5;\n }\n\n &::-webkit-scrollbar-thumb {\n border-radius: 10px;\n -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.15);\n box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.15);\n background-color: #dde0e6;\n }\n`;\n\nexport const InputDiv = styled.div(\n ({ column }: FieldDivProps) => `\n display: flex;\n flex-direction: ${column ? 'column' : 'row'};\n justify-content: space-between;\n align-items: ${column ? 'stretch' : 'baseline'};\n margin: 4px auto;\n width: 100%;\n text-align: start;\n\n .MuiAutocomplete-inputRoot {\n padding-top: 3.8px !important;\n padding-bottom: 3.8px !important;\n }\n`,\n);\n\nexport const StyledSelect = styled(Select)(\n ({ width }: StyledSelectProps) => `\n width: ${width ? width : 'auto'};\n margin-top: 8px;\n margin-bottom: 4px;\n background-color: #fff;\n\n .MuiOutlinedInput-inputMarginDense {\n padding-top: 6px;\n padding-bottom: 6px;\n }\n`,\n);\n\nexport const StyledTextField = styled(TextField)(\n ({ width }: StyledTextFieldProps) => `\n width: ${width ? width : 'auto'};\n`,\n);\n\nexport const CustomAutocompleteTypography = styled(Typography)(\n ({ column }: CustomAutocompleteTypographyProps) => `\n align-self: ${column ? 'start' : 'center'};\n`,\n);\n\nexport const CustomTypography = styled(Typography)`\n margin: 6px 0 !important;\n`;\n\nexport const InputLabel = styled(Typography)`\n font-weight: bold;\n color: #333;\n text-align: start;\n max-width: 300px;\n width: 295px;\n`;\n\nexport const customInputStyles = {\n root: css`\n display: flex;\n flex-direction: column;\n margin: 4px auto;\n width: 100%;\n `,\n label: css`\n font-size: 14px;\n font-weight: 500;\n text-align: start;\n width: 276px;\n color: #333 !important;\n `,\n outlineError: css`\n &:hover {\n fieldset {\n border-color: red !important;\n border-width: 3px;\n }\n }\n\n fieldset {\n border-color: red !important;\n border-width: 2px;\n }\n `,\n textError: css`\n color: red;\n text-align: start;\n max-width: 400px;\n margin-left: 300px;\n `,\n textErrorNoMargin: css`\n color: red;\n text-align: start;\n max-width: 400px;\n `,\n checkbox: css`\n display: flex;\n `,\n radio: css`\n width: 100%;\n `,\n};\n\nexport const AutocompleteChipDefaultSpan = styled.span`\n color: rgba(0, 0, 0, 0.35);\n padding-left: 5px;\n`;\n\nexport const AutocompleteTextField = styled(TextField)(\n ({ draggable }: StyledAutocompleteTextFieldProps) => `\n .MuiAutocomplete-popupIndicator {\n margin-right: -4px;\n }\n\n ${\n draggable\n ? `\n .MuiInputBase-root {\n display:flex;\n align-items: flex-start;\n flex-direction: column-reverse;\n padding: 6px !important;\n cursor: auto;\n\n .MuiInputBase-input {\n width: calc(100% - 58px);\n }\n\n .MuiAutocomplete-endAdornment {\n top:5px;\n }\n }`\n : ''\n };\n`,\n);\n\nexport const CustomCheckboxGroupLabel = styled.span`\n font-weight: bold;\n color: #333;\n text-align: start;\n max-width: 300px;\n width: 295px;\n align-self: flex-start;\n margin-top: 12px;\n`;\n\nexport const ErrorDiv = styled.div`\n width: 100%;\n text-align: left;\n`;\n\nexport const FieldDiv = styled.div(\n (props: FieldDivProps) => `\n display: flex;\n flex-direction: ${props.column ? 'column' : 'row'};\n justify-content: space-between;\n align-items: ${props.column ? 'start' : 'center'};\n`,\n);\n\nexport const CheckboxFieldDiv = styled(FieldDiv)`\n margin-top: 12px;\n justify-content: flex-start;\n`;\n\nexport const FieldContainer = styled.div`\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n`;\n\nexport const CheckboxDiv = styled.div`\n display: flex;\n width: 100%;\n align-items: center;\n & label {\n margin-left: 0;\n }\n & .Mui-checked svg {\n color: #38af49 !important;\n }\n`;\n\nexport const CustomCheckboxGroupTypography = styled(Typography)`\n cursor: pointer;\n user-select: none;\n`;\n\nexport const CustomCheckboxGroupDivRow = styled.div`\n display: flex;\n flex-direction: row;\n align-items: center;\n`;\n\nexport const CustomCheckboxGroupDiv = styled.div`\n display: flex;\n flex-direction: column;\n`;\n\nexport const CustomInputError = styled.span`\n margin-left: 306px;\n display: flex;\n color: red;\n text-align: start;\n max-width: 400px;\n`;\n\nexport const CustomCheckboxGroupTextField = styled(TextField)`\n max-width: 60px;\n margin: 0 6px !important;\n`;\n\nexport const SelectDiv = styled.div`\n display: flex;\n flex-direction: row;\n width: 100%;\n align-items: center;\n justify-content: space-between;\n`;\n\nexport const RadioTypography = styled(Typography)`\n font-weight: bold !important;\n color: #333 !important;\n text-align: start !important;\n max-width: 300px !important;\n width: 295px !important;\n`;\n\nexport const CheckboxTypography = styled(Typography)`\n font-weight: bold !important;\n color: #333 !important;\n text-align: start !important;\n`;\n\nexport const CheckboxLabelTypography = styled(Typography)`\n font-weight: bold !important;\n color: #333 !important;\n text-align: start !important;\n padding-top: 10px;\n`;\n\nexport const RadioButtonsContainer = styled.div`\n display: flex;\n flex-direction: column;\n`;\n\nexport const CustomEndAdornment = styled.div`\n position: absolute;\n right: 12px;\n`;\n\nexport const CustomStyledCheckbox = styled(Checkbox)`\n & svg {\n width: 28px;\n height: 28px;\n color: #777;\n opacity: ${({disabled}) => disabled ? 0.6 : 1}\n }\n`;\n","import { Box, OutlinedTextFieldProps, Tooltip, Typography } from '@material-ui/core';\nimport React from 'react';\nimport { FieldRenderProps } from 'react-final-form';\nimport { useTranslation } from 'react-i18next';\nimport { InputDiv, StyledTextField } from './CustomInput.styled';\n\ninterface IProps extends FieldRenderProps {\n label: string;\n disableAutocomplete?: boolean;\n textFieldProps?: Omit;\n column?: boolean;\n width?: string;\n disabled?: boolean;\n tooltip?: string;\n}\n\ntype PropType = IProps;\n\nconst CustomField = ({\n input,\n textFieldProps,\n disableAutocomplete,\n meta: { error, touched },\n width,\n label,\n column,\n disabled,\n tooltip,\n}: PropType): JSX.Element => {\n const shouldDisplayError = (typeof error === 'boolean' || (error && touched)) as boolean;\n const { t } = useTranslation();\n\n const renderTextFieldComponent = (): JSX.Element => {\n const textComponent = (\n \n );\n\n if (tooltip) {\n return {textComponent};\n }\n\n return textComponent;\n };\n\n return (\n \n \n \n {t(label)}\n \n \n {column ? (\n renderTextFieldComponent()\n ) : (\n \n {renderTextFieldComponent()}\n {shouldDisplayError && typeof error !== 'boolean' && (\n \n {t(error as string)}\n \n )}\n \n )}\n {column && shouldDisplayError && typeof error !== 'boolean' && (\n \n {t(error as string)}\n \n )}\n \n );\n};\n\nexport default CustomField;\n","/** @jsx jsx */\nimport { jsx } from '@emotion/core';\nimport styled from '@emotion/styled';\nimport { Typography } from '@material-ui/core';\nimport { Fragment, PureComponent } from 'react';\nimport { withTranslation, WithTranslation } from 'react-i18next';\n\ninterface IProps {\n text: string;\n}\n\nclass FormTitle extends PureComponent {\n StyledTypography = styled(Typography)`\n display: block;\n width: 100%;\n font-size: 17px !important;\n margin: 24px 0 !important;\n color: #00a4e4 !important;\n `;\n\n render(): JSX.Element {\n const { t, text } = this.props;\n const { StyledTypography } = this;\n return (\n \n \n {t(text)}\n \n \n );\n }\n}\n\nexport default withTranslation()(FormTitle);\n","import { createSelector } from '@reduxjs/toolkit';\nimport { AppState } from 'store';\nimport { ISpinnerState } from './spinner.interface';\n\nconst fetchSpinnerState = ({ spinner }: AppState): ISpinnerState => spinner;\n\nexport const getFetchSpinnerSelector = createSelector(fetchSpinnerState, ({ fetchSpinner }) => fetchSpinner);\n\nexport const getTemplateSpinnerSelector = createSelector(fetchSpinnerState, ({ templateSpinner }) => templateSpinner);\n\nexport const getCustomerSpinnerSelector = createSelector(fetchSpinnerState, ({ customerSpinner }) => customerSpinner);\nexport const getconnectDataSpinnerSelector = createSelector(\n fetchSpinnerState,\n ({ connectDataSpinner }) => connectDataSpinner,\n);\n\nexport const getConnectToXtmSpinnerSelector = createSelector(\n fetchSpinnerState,\n ({ connectToXtmSpinner }) => connectToXtmSpinner,\n);\n\nexport const getConnectToCMSSpinnerSelector = createSelector(\n fetchSpinnerState,\n ({ connectToCMSSpinner }) => connectToCMSSpinner,\n);\n\nexport const getDefaultLanguagesSpinnerSelector = createSelector(\n fetchSpinnerState,\n ({ defaultUserLanguagesSpinner }) => defaultUserLanguagesSpinner,\n);\n\nexport const getProjectSpinnerSelector = createSelector(fetchSpinnerState, ({ projectSpinner }) => projectSpinner);\n\nexport const getKenticoDataSpinnerSelector = createSelector(\n fetchSpinnerState,\n ({ kenticoDataSpinner }) => kenticoDataSpinner,\n);\n\nexport const getKenticoConnectSpinnerSelector = createSelector(\n fetchSpinnerState,\n ({ kenticoConnectSpinner }) => kenticoConnectSpinner,\n);\n","export const EMAIL_REGEX = /^[\\w!#$%&'*+./=?^`{|}~-]+@[\\dA-Za-z](?:[\\dA-Za-z-]{0,61}[\\dA-Za-z])?(?:\\.[\\dA-Za-z](?:[\\dA-Za-z-]{0,61}[\\dA-Za-z])?)*$/;\nexport const LOWERCASE_REGEX = /[a-z]/;\nexport const UPPERCASE_REGEX = /[A-Z]/;\nexport const NUMBER_REGEX = /\\d/;\nexport const WHITESPACE_REGEX = /\\s/;\nexport const PASSWORD_REGEX = /^((?=.*[a-z])(?=.*\\d)(?=.*[A-Z])(?!.*\\s).{8,64})$/;\nexport const ISNUMBER = /^\\d*$/;\nexport const PREFIX_REGEX = /[\"*/:<>?\\\\{|}]/;\n/**\n * Returns length regexp\n *\n * @param min - Minimum amout of letters\n * @param max - Maximum amout of letters\n *\n * @returns {RegExp} Length regexp\n */\nexport const LENGTH_REGEX = (min: number, max: number): RegExp => new RegExp(`^.{${min},${max}}$`);\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { ValidationErrors } from 'final-form';\nimport { IAutocompleteField } from 'types/shared';\nimport { isString } from 'util';\nimport { EMAIL_REGEX, ISNUMBER, LENGTH_REGEX, PASSWORD_REGEX, PREFIX_REGEX, WHITESPACE_REGEX } from './customRegex';\nimport { isObjectEqual } from './objectEquality';\n\n/**\n * Returns whether given field has a value\n *\n * @param value - Form string value to test against\n *\n * @returns {string | null} Either null when validation is successful or translated error message\n */\nconst required = (value: string): string | null => {\n if (value && isString(value)) {\n return null;\n }\n return 'validator.required';\n};\n\n/**\n * Returns whether given field has a value\n *\n * @param value - Form string value to test against\n *\n * @returns {string | null} Either null when validation is successful or translated error message\n */\nconst requiredAutocomplete = (value: IAutocompleteField | Array | null): string | null => {\n if (Array.isArray(value) && value.length > 0) {\n return null;\n } else if (!Array.isArray(value) && value?.value) {\n return null;\n }\n return 'validator.required';\n};\n\n/**\n * Returns whether second set of fields has a value if chosen field has value\n *\n * @param field - Field key\n *\n * @param requiredFields - An array of field keys that are required if field value is present\n *\n * @returns {ValidationErrors} Either null when validation is successful or translated error message\n */\nconst requiredAutocompleteBasedOnField = (\n field: keyof T,\n requiredFields: Array,\n) => (values: T): ValidationErrors => {\n if (Boolean(values?.[field]?.length)) {\n const errors: { [key: string]: string } = {};\n\n requiredFields.forEach((fieldKey) => {\n if (!Boolean(values?.[fieldKey]?.length)) {\n errors[fieldKey.toString()] = 'validator.required';\n }\n });\n\n return errors;\n }\n return undefined;\n};\n\n/**\n * Returns whether given field is a valid email\n *\n * @param value - Form string value to test against\n *\n * @returns {string | null} Either null when validation is successful or translated error message\n */\nconst email = (value: string): string | null => {\n // eslint-disable-next-line no-console\n if (EMAIL_REGEX.test(value)) {\n return null;\n }\n return 'validator.email';\n};\n/**\n * Returns whether given field is a valid password\n *\n * @param value - Form string value to test against\n *\n * @returns {string | null} Either null when validation is successful or translated error message\n */\nconst password = (value: string): string | null => {\n if (PASSWORD_REGEX.test(value)) {\n return null;\n }\n return 'validator.password';\n};\n/**\n * Returns whether given field contains whitespaces\n *\n * @param value - Form string value to test against\n *\n * @returns {string | null} Either null when validation is successful or translated error message\n */\nconst noWhitespace = (value: string): string | null => {\n if (!WHITESPACE_REGEX.test(value)) {\n return null;\n }\n return 'validator.whitespace';\n};\n/**\n * Returns whether field does not match\n *\n * @returns {string | null} Either null when validation is successful or translated error message\n */\nconst comparePass = (values: {\n newPassword: string;\n confirmPassword: string;\n}): ValidationErrors | Promise | undefined => {\n if (values.newPassword !== values.confirmPassword) {\n return {\n confirmPassword: 'validator.confirmPassword',\n };\n }\n return undefined;\n};\n\n/**\n * Returns whether value is not a number\n *\n * @returns {string | null} Either null when validation is successful or translated error message\n */\nconst isNumber = (value: string): string | null => {\n if (ISNUMBER.test(value) || typeof value === 'undefined') {\n return null;\n }\n return 'validator.removeXTMFiles';\n};\n\n/**\n * Returns whether value length is composed of between 1 and 9\n *\n * @returns {string | null} Either null when validation is successful or translated error message\n */\nconst isMaxLength = (value: string): string | null => {\n if (LENGTH_REGEX(1, 9).test(value)) {\n return null;\n }\n return 'validator.maxLength';\n};\n\n/**\n * Returns whether value does not contain any special characters\n *\n * @returns {string | null} Either null when validation is successful or translated error message\n */\nconst isAllowedPrefix = (value: string): string | null => {\n if (!PREFIX_REGEX.test(value)) {\n return null;\n }\n return 'validator.XTMProjectPrefix';\n};\n\n/**\n * Returns reduced validator from given validator array\n *\n * @param validators - An array of validators\n *\n * @returns {(value: string) => string | null} A reduced validator function\n */\nconst composeValidators = (\n validators: ((value: string) => boolean | string | null)[],\n): ((value: string) => boolean | string | null) => (value: string) => {\n return validators.reduce((error: boolean | string | null, validator) => error || validator(value), null);\n};\n/**\n * Returns whether a field has an error field assigned to it in store and has different value than the one that threw an error\n *\n * @param error - An error returned from api\n *\n * @param previousValue - A value which caused error\n *\n * @returns {string | null} Wheter given value is the same as the one that threw an error\n */\nconst fetchValidator = (error: string | undefined, previousValue: string | undefined) => (\n value: string,\n): string | null => {\n if (error && previousValue && previousValue === value) {\n return error;\n }\n return null;\n};\n/**\n * Returns whether a submit object has an error assigned to it in store and has different value than the one that threw an error\n *\n * @param error - An error returned from api\n *\n * @param previousValue - Values which caused error\n *\n * @returns {string | null} Wheter given value is the same as the one that threw an error\n */\nconst fetchValidatorObject = (error: string | undefined, previousValue: Record) => (\n values: Record,\n): {} => {\n const errors: Record = {};\n if (error && previousValue && isObjectEqual(values, previousValue)) {\n const valuesParameters = Object.keys(values);\n valuesParameters.map((key) => {\n errors[key] = true;\n });\n }\n return errors;\n};\n\n/**\n * Returns whether a field has an error field assigned to it in store\n *\n * @param error - Whether should display red outline\n *\n * @returns {string | null} Whether store field is set to true\n */\nfunction booleanValidator(error: boolean) {\n return function () {\n return error ? error : null;\n };\n}\n\n/**\n * Returns whether a field is not empty and validator\n *\n * @param value - field value\n * @param validator - optional validator\n */\nfunction optionalValidator(value: string, validator: Function): null | string {\n if (value === undefined) {\n return null;\n }\n\n return validator(value);\n}\n\nexport {\n required,\n email,\n composeValidators,\n password,\n noWhitespace,\n fetchValidator,\n comparePass,\n booleanValidator,\n fetchValidatorObject,\n isNumber,\n isAllowedPrefix,\n optionalValidator,\n isMaxLength,\n requiredAutocomplete,\n requiredAutocompleteBasedOnField,\n};\n","/**\n * Returns whether objects are equal (shallow compare)\n *\n * @param objectA - Key - Value object\n *\n * @param objectB - Key - Value object\n *\n * @returns {boolean} Whether objects are equal\n */\nexport function isObjectEqual(objectA: Record, objectB: Record): boolean {\n const objectAProperties = Object.getOwnPropertyNames(objectA);\n const objectBProperties = Object.getOwnPropertyNames(objectB);\n\n if (objectAProperties.length !== objectBProperties.length) {\n return false;\n }\n\n return objectAProperties.reduce(\n (previousValue: boolean, currentValue: string) => objectA[currentValue] === objectB[currentValue] && previousValue,\n true,\n );\n}\n","import { css } from '@emotion/core';\n\nexport const loginContainerStyles = {\n root: css`\n display: flex;\n flex-direction: column;\n align-items: center;\n height: 100%;\n justify-content: center;\n `,\n button: css`\n margin-top: 20px !important;\n width: 75%;\n `,\n form: css`\n margin: 16px;\n `,\n};\n","export enum UserRouteParameterEnum {\n edit = 'edit',\n duplicate = 'duplicate',\n}\n","/** @jsx jsx */\nimport { jsx } from '@emotion/core';\nimport { Button, CircularProgress } from '@material-ui/core';\nimport CustomLink from 'components/CustomLink/CustomLink';\nimport FormDiv from 'components/Form/Div/FormDiv';\nimport CustomField from 'components/Form/Input/CustomField';\nimport { customInputStyles, ErrorDiv } from 'components/Form/Input/CustomInput.styled';\nimport FormTitle from 'components/Form/Title/FormTitle';\nimport { createForm, FormApi, Unsubscribe } from 'final-form';\nimport { Component } from 'react';\nimport { Field, Form } from 'react-final-form';\nimport { withTranslation, WithTranslation } from 'react-i18next';\nimport { connect } from 'react-redux';\nimport { Dispatch } from 'redux';\nimport { AppDispatch, AppState } from 'store';\nimport { getFetchSpinnerSelector } from 'store/spinner/spinner.selectors';\nimport { clearUserErrors, loginUser } from 'store/user/user.actions';\nimport { getUserErrorsSelector } from 'store/user/user.selectors';\nimport { composeValidators, email, fetchValidatorObject, required } from 'utils/customValidators';\nimport { AuthenticationRequest } from 'utils/restApplicationClientTypeOverrides';\nimport { loginContainerStyles } from './LoginContainer.style';\n\ninterface IDispatchProps {\n login: (payload: AuthenticationRequest) => AppDispatch;\n clearUserErrors: () => AppDispatch;\n}\n\ninterface IStateProps {\n errors: { [key: string]: string | undefined };\n fetchSpinner: boolean;\n}\n\ninterface IFormValues {\n email: string;\n password: string;\n}\n\ninterface IState {\n submitValues: {\n email: string;\n password: string;\n };\n}\n\ntype PropType = IDispatchProps & WithTranslation & IStateProps;\n\nexport class LoginContainer extends Component {\n form: FormApi>>;\n unsubscribe: Unsubscribe;\n constructor(props: PropType) {\n super(props);\n this.state = {\n submitValues: {\n email: '',\n password: '',\n },\n };\n this.form = createForm({\n onSubmit: this.onSubmit,\n });\n this.unsubscribe = this.form.subscribe(\n () => {\n if (this.props.errors['login']) {\n this.props.clearUserErrors();\n }\n },\n { values: true },\n );\n }\n\n componentWillUnmount(): void {\n this.unsubscribe();\n }\n\n onSubmit = ({ email, password }: IFormValues): void => {\n this.setState({ submitValues: { email, password } });\n this.props.login({ email, password });\n };\n\n render(): JSX.Element {\n const { t, errors = {}, fetchSpinner } = this.props;\n const { submitValues } = this.state;\n\n return (\n \n \n (\n
\n \n \n \n {t(errors['login'] ?? '')}\n \n \n {fetchSpinner ? : t('auth.login')}\n \n \n )}\n />\n \n
\n );\n }\n}\n\nconst mapDispatchToProps = (dispatch: Dispatch): IDispatchProps => ({\n login: (payload: AuthenticationRequest): AppDispatch => dispatch(loginUser(payload)),\n clearUserErrors: (): AppDispatch => dispatch(clearUserErrors()),\n});\n\nconst mapStateToProps = (state: AppState): IStateProps => ({\n errors: getUserErrorsSelector(state),\n fetchSpinner: getFetchSpinnerSelector(state),\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(withTranslation()(LoginContainer));\n","import { css } from '@emotion/core';\n\nexport const resetPasswordContainerStyles = {\n root: css`\n display: flex;\n flex-direction: column;\n align-items: center;\n height: 100%;\n justify-content: center;\n max-width: 400px;\n align-self: center;\n `,\n button: css`\n margin-top: 20px !important;\n width: 75%;\n `,\n text: css`\n text-align: start;\n margin: 20px 10px;\n `,\n form: css`\n margin: 16px;\n `,\n};\n","/** @jsx jsx */\nimport { jsx } from '@emotion/core';\nimport { Button, CircularProgress } from '@material-ui/core';\nimport CustomLink from 'components/CustomLink/CustomLink';\nimport FormDiv from 'components/Form/Div/FormDiv';\nimport CustomField from 'components/Form/Input/CustomField';\nimport FormTitle from 'components/Form/Title/FormTitle';\nimport { Component } from 'react';\nimport { Field, Form } from 'react-final-form';\nimport { withTranslation, WithTranslation } from 'react-i18next';\nimport { connect } from 'react-redux';\nimport { Dispatch } from 'redux';\nimport { AppDispatch, AppState } from 'store';\nimport { getFetchSpinnerSelector } from 'store/spinner/spinner.selectors';\nimport { resetPassword } from 'store/user/user.actions';\nimport { IRemindPasswordPayload } from 'store/user/user.actions.types';\nimport { composeValidators, email, required } from 'utils/customValidators';\nimport { resetPasswordContainerStyles } from './ResetPasswordContainer.style';\n\ninterface IFormValues {\n email: string;\n}\n\ninterface IDispatchProps {\n resetPassword: (payload: IRemindPasswordPayload) => void;\n}\n\ninterface IStateProps {\n fetchSpinner: boolean;\n}\nexport class ResetPasswordContainer extends Component {\n onSubmit = (values: IFormValues): void => {\n this.props.resetPassword(values);\n };\n\n render(): JSX.Element {\n const { t, fetchSpinner } = this.props;\n return (\n \n \n {t('auth.password.resetInfo')}\n (\n
\n \n \n {fetchSpinner ? : t('common.send')}\n \n \n )}\n />\n \n
\n );\n }\n}\n\nconst mapStateToProps = (state: AppState): IStateProps => ({\n fetchSpinner: getFetchSpinnerSelector(state),\n});\n\nconst mapDispatchToProps = (dispatch: Dispatch): IDispatchProps => ({\n resetPassword: (payload: IRemindPasswordPayload): AppDispatch => dispatch(resetPassword(payload)),\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(withTranslation()(ResetPasswordContainer));\n","/** @jsx jsx */\nimport { jsx } from '@emotion/core';\nimport { Button, CircularProgress } from '@material-ui/core';\nimport FormDiv from 'components/Form/Div/FormDiv';\nimport FormTitle from 'components/Form/Title/FormTitle';\nimport { ValidationErrors } from 'final-form';\nimport { Field, Form } from 'react-final-form';\nimport { useTranslation } from 'react-i18next';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { AppState } from 'store';\nimport { getFetchSpinnerSelector } from 'store/spinner/spinner.selectors';\nimport { loginContainerStyles } from '../../containers/Login/LoginContainer.style';\nimport { changePassword } from '../../store/user/user.actions';\nimport { comparePass, composeValidators, password, required } from '../../utils/customValidators';\nimport { ChangePasswordDTO } from '../../utils/restApplicationClientTypeOverrides';\nimport CustomField from '../Form/Input/CustomField';\n\ninterface IResetFormValues {\n newPassword: string;\n confirmPassword: string;\n}\n\ninterface IResetFormProps {\n token: string | null;\n}\n\nexport const ChangePasswordForm = (props: IResetFormProps): JSX.Element => {\n const dispatch = useDispatch();\n const { t } = useTranslation();\n const fetchSpinner = useSelector((state: AppState) => getFetchSpinnerSelector(state));\n const onSubmit = ({ newPassword }: IResetFormValues): void => {\n if (props.token) {\n dispatch(\n changePassword({\n newPassword,\n resetPasswordToken: props.token,\n } as ChangePasswordDTO),\n );\n }\n };\n\n return (\n \n \n comparePass(values)}\n render={({ handleSubmit, submitting }): JSX.Element => (\n
\n \n \n \n {fetchSpinner ? : t('auth.password.change')}\n \n \n )}\n />\n
\n );\n};\n","import LoginContainer from 'containers/Login/LoginContainer';\nimport ResetPasswordContainer from 'containers/ResetPassword/ResetPasswordContainer';\nimport { IRoute } from 'types/route';\nimport ChangePasswordContainer from '../../containers/ChangePasswordContainer/ChangePasswordContainer';\n\nexport const loginRoutes: IRoute[] = [\n {\n pathname: '/login',\n component: LoginContainer,\n exact: true,\n },\n {\n pathname: '/reset-password',\n component: ResetPasswordContainer,\n exact: true,\n },\n {\n pathname: '/changePassword',\n component: ChangePasswordContainer,\n exact: false,\n },\n];\n","// @flow\nimport * as React from 'react';\nimport { useEffect } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { useLocation } from 'react-router-dom';\nimport { ChangePasswordForm } from '../../components/ChangePasswordForm/ChangePasswordForm';\nimport { AppState } from '../../store';\nimport { verifyPassToken } from '../../store/user/user.actions';\n\nconst ChangePasswordContainer = (): JSX.Element => {\n const location = useLocation();\n const parameters = new URLSearchParams(location.search);\n const dispatch = useDispatch();\n const token = parameters.get('token');\n useEffect(() => {\n if (token) {\n dispatch(verifyPassToken(token));\n }\n }, []);\n const selector = (state: AppState): boolean => state.user.verifyPassFinished;\n const finished = useSelector(selector);\n return {finished && };\n};\n\nexport default ChangePasswordContainer;\n","import LoginHeader from 'components/LoginHeader/LoginHeader';\nimport React, { Component } from 'react';\nimport { Route } from 'react-router-dom';\nimport { loginRoutes } from './routes';\n\nclass LoginLayoutComponent extends Component {\n render(): JSX.Element {\n return (\n <>\n \n {loginRoutes.map((route) => {\n return ;\n })}\n \n );\n }\n}\n\nexport default LoginLayoutComponent;\n","/** @jsx jsx */\nimport { jsx } from '@emotion/core';\nimport styled from '@emotion/styled';\nimport { Button, CircularProgress } from '@material-ui/core';\nimport { PureComponent } from 'react';\nimport { withTranslation, WithTranslation } from 'react-i18next';\nimport { Link } from 'react-router-dom';\n\ninterface IProps {\n submitting: boolean;\n backTo: string;\n spinner: boolean;\n}\n\nconst ButtonContainerDiv = styled.div`\n position: fixed;\n bottom: 0;\n left: 0;\n right: 0;\n display: flex;\n flex-direction: row;\n border-top: 1px solid #dddddd;\n justify-content: center;\n height: 50px;\n align-items: center;\n z-index: 2;\n background-color: #fff;\n\n & button {\n margin-right: 8px;\n font-size: 13px;\n font-weight: 500;\n }\n`;\n\nconst ButtonLink = styled(Link)`\n text-decoration: none;\n`;\n\nclass ButtonContainer extends PureComponent {\n render(): JSX.Element {\n const { t, submitting, backTo, spinner } = this.props;\n\n return (\n \n \n \n \n \n \n );\n }\n}\n\nexport default withTranslation()(ButtonContainer);\n","import styled from '@emotion/styled';\nimport { Box, Typography } from '@material-ui/core';\nimport moment from 'moment';\nimport * as React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { FieldDiv } from '../Input/CustomInput.styled';\n\ninterface IProps {\n createdAt: Date;\n modifiedAt: Date;\n}\n\nconst Container = styled.div`\n display: flex;\n flex-direction: column;\n text-align: left;\n color: #333;\n`;\n\nconst Date = styled.p`\n font-weight: 400;\n width: 100%;\n font-size: 14px;\n`;\n\nexport const EditData = (props: IProps): JSX.Element => {\n const { createdAt, modifiedAt } = props;\n const { t } = useTranslation();\n return (\n \n \n \n \n {t('common.creationDate')}\n \n \n {moment(createdAt).format('DD.MM.YYYY HH:MM')}\n \n \n \n \n {t('common.modificationDate')}\n \n \n {moment(modifiedAt).format('DD.MM.YYYY HH:MM')}\n \n \n );\n};\n","import React from \"react\";\nimport Tooltip, { TooltipProps } from \"@material-ui/core/Tooltip\";\nimport { makeStyles } from \"@material-ui/core/styles\";\n\nconst useStyles = makeStyles((theme) => ({\n arrow: {\n color: theme.palette.common.black,\n },\n tooltip: {\n backgroundColor: theme.palette.common.black,\n fontSize: 12,\n },\n tooltipPlacementRight: {\n marginLeft: \"8px !important\",\n },\n tooltipPlacementLeft: {\n marginRight: \"8px !important\",\n },\n tooltipPlacementTop: {\n marginBottom: \"8px !important\",\n },\n tooltipPlacementBottom: {\n marginTop: \"8px !important\",\n },\n}));\n\nconst SimpleTooltip = ({ children, ...props }: TooltipProps) => {\n const classes = useStyles();\n\n return (\n \n {children}\n \n );\n};\nexport default SimpleTooltip;\n","/** @jsx jsx */\nimport { jsx } from \"@emotion/core\";\nimport { Box, Typography } from \"@material-ui/core\";\nimport { FieldRenderProps } from \"react-final-form\";\nimport { useTranslation } from \"react-i18next\";\nimport {\n CheckboxDiv,\n CustomStyledCheckbox,\n FieldDiv,\n} from \"./CustomInput.styled\";\nimport SimpleTooltip from \"../../CustomTooltip/SimpleTooltip\";\nimport InfoIcon from \"@material-ui/icons/Info\";\nimport { makeStyles } from \"@material-ui/core/styles\";\n\ninterface IProps extends FieldRenderProps {\n disabled?: boolean;\n label: string;\n tooltipText?: string;\n checkboxTooltipText?: string;\n}\n\nconst useStyles = makeStyles({\n typography: {\n display: \"flex\",\n width: 276,\n },\n typographyBox: {\n fontWeight: 500,\n textAlign: \"start\",\n width: 276,\n fontSize: 14,\n color: ({ disabled }: IProps) => (disabled ? \"#8F8F8F\" : \"#333\"),\n },\n icon: {\n color: \"#00A4E4\",\n marginRight: 6,\n },\n});\n\nconst CustomCheckbox = (props: IProps): JSX.Element => {\n const { disabled, input, label, tooltipText, checkboxTooltipText } = props;\n const { t } = useTranslation();\n const classes = useStyles(props);\n\n return (\n \n \n {t(label)}\n {tooltipText && (\n \n \n \n )}\n \n \n \n \n \n \n \n \n \n );\n};\n\nexport default CustomCheckbox;\n","/** @jsx jsx */\nimport { jsx } from '@emotion/core';\nimport { Box, SelectProps, Typography } from '@material-ui/core';\nimport { ChangeEvent, Component } from 'react';\nimport { FieldInputProps } from 'react-final-form';\nimport { withTranslation, WithTranslation } from 'react-i18next';\nimport { InputDiv, StyledSelect } from './CustomInput.styled';\n\ninterface IProps {\n label: string;\n meta: { error?: string; touched?: boolean };\n inputProps: FieldInputProps;\n rows: Array<{ value: string; name: string }>;\n width?: string;\n selectProps?: SelectProps;\n onChange?: (\n event: ChangeEvent<{\n name?: string | undefined;\n value: unknown;\n }>,\n ) => void;\n}\n\nexport class CustomSelect extends Component {\n render(): JSX.Element {\n const {\n t,\n meta: { error, touched },\n inputProps,\n rows,\n width,\n onChange,\n label,\n } = this.props;\n\n return (\n \n \n \n {t(label)}\n \n \n \n \n {!this.props.inputProps.value && }\n {rows.map((row, index) => {\n return (\n \n );\n })}\n \n {error && touched && (\n \n {t(error)}\n \n )}\n \n \n );\n }\n}\n\nexport default withTranslation()(CustomSelect);\n","export const AdministratorActionTypes = {\n CreateAdministrator: 'ADMINISTRATOR_CREATE_ADMINISTRATOR',\n CreateAdministratorError: 'ADMINISTRATOR_CREATE_ADMINISTRATOR_ERROR',\n CreateAdministratorSuccess: 'ADMINISTRATOR_CREATE_ADMINISTRATOR_SUCCESS',\n ClearAdministratorErrors: 'ADMINISTRATOR_CLEAR_ERRORS',\n GetAdministatorsPageable: 'ADMINISTRATOR_GET_ADMINISTRATORS_PAGEABLE',\n GetAdministratorsPageableSuccess: 'ADMINISTRATOR_GET_ADMINISTRATORS_PAGEABLE_SUCCESS',\n GetAdministratorsPageableError: 'ADMINISTRATOR_GET_ADMINISTRATORS_PAGEABLE_ERROR',\n GetAdministratorById: 'ADMINISTRATOR_GET_ADMINISTRATOR_BY_ID',\n GetAdministratorByIdSuccess: 'ADMINISTRATOR_GET_ADMINISTRATOR_BY_ID_SUCCESS',\n GetAdministratorByIdError: 'ADMINISTRATOR_GET_ADMINISTRATOR_BY_ID_ERROR',\n ClearAdministrator: 'ADMINISTRATOR_CLEAR_ADMINISTRATOR',\n EditAdministrator: 'ADMINISTRATOR_EDIT_ADMINISTRATOR',\n EditAdministratorSuccess: 'ADMINISTRATOR_EDIT_ADMINISTRATOR_SUCCESS',\n EditAdministratorError: 'ADMINISTRATOR_EDIT_ADMINISTRATOR_ERROR',\n};\n","import { createAction } from '@reduxjs/toolkit';\nimport { ErrorPayload } from 'store/error/error.epic';\nimport { IEditAdministrator, IPaginationOptions } from 'types/api';\nimport { AdministratorDTO, Page } from 'utils/restApplicationClient';\nimport { CreateAdministratorDTO } from 'utils/restApplicationClientTypeOverrides';\nimport { AdministratorActionTypes } from './administrator.actions.types';\n\nexport const createAdministrator = createAction(AdministratorActionTypes.CreateAdministrator);\nexport const createAdministratorError = createAction(AdministratorActionTypes.CreateAdministratorError);\nexport const createAdministratorSuccess = createAction(AdministratorActionTypes.CreateAdministratorSuccess);\n\nexport const clearAdministratorErrors = createAction(AdministratorActionTypes.ClearAdministratorErrors);\n\nexport const getAdministratorsPageable = createAction(\n AdministratorActionTypes.GetAdministatorsPageable,\n);\nexport const getAdministratorsPageableSuccess = createAction>(\n AdministratorActionTypes.GetAdministratorsPageableSuccess,\n);\nexport const getAdministratorsPageableError = createAction(\n AdministratorActionTypes.GetAdministratorsPageableError,\n);\n\nexport const getAdministratorById = createAction(AdministratorActionTypes.GetAdministratorById);\nexport const getAdministratorByIdSuccess = createAction(\n AdministratorActionTypes.GetAdministratorByIdSuccess,\n);\nexport const getAdministratorByIdError = createAction(AdministratorActionTypes.GetAdministratorByIdError);\n\nexport const clearAdministrator = createAction(AdministratorActionTypes.ClearAdministrator);\n\nexport const editAdministrator = createAction(AdministratorActionTypes.EditAdministrator);\n\nexport const editAdministratorSuccess = createAction(AdministratorActionTypes.EditAdministratorSuccess);\n\nexport const editAdministratorError = createAction(AdministratorActionTypes.EditAdministratorError);\n","import { createSelector } from '@reduxjs/toolkit';\nimport { AppState } from 'store';\nimport { AdministratorDTO, Page } from 'utils/restApplicationClient';\n\nexport const administratorErrorsSelector = (state: AppState): { [key: string]: string | undefined } =>\n state.administrator.errors;\n\nexport const administratorsPageableSelector = (state: AppState): Page | undefined =>\n state.administrator.administratorsPageable;\n\nexport const administratorSelector = (state: AppState): AdministratorDTO | undefined =>\n state.administrator.administrator;\n\nexport const getAdministratorErrorsSelector = createSelector(administratorErrorsSelector, (errors) => errors);\n\nexport const getAdministratorsPageableSelector = createSelector(\n administratorsPageableSelector,\n (administrators) => administrators,\n);\n\nexport const getAdministratorSelector = createSelector(administratorSelector, (administrator) => administrator);\n","export const ClientActionTypes = {\n GetClientsPageable: 'CLIENT_GET_CLIENTS_PAGEABLE',\n GetClientsPageableSuccess: 'CLIENT_GET_CLIENTS_PAGEABLE_SUCCESS',\n GetClientsPageableError: 'CLIENT_GET_CLIENTS_PAGEABLE_ERROR',\n GetAllClients: 'CLIENT_GET_ALL_CLIENTS',\n GetAllClientsSuccess: 'CLIENT_GET_ALL_CLIENTS_SUCCESS',\n GetAllClientsError: 'CLIENT_GET_ALL_CLIENTS_ERROR',\n CreateClient: 'CLIENT_CREATE_CLIENT',\n CreateClientSuccess: 'CLIENT_CREATE_CLIENT_SUCCESS',\n CreateClientError: 'CLIENT_CREATE_CLIENT_ERROR',\n EditClient: 'CLIENT_EDIT_CLIENT',\n EditClientSuccess: 'CLIENT_EDIT_CLIENT_SUCCESS',\n EditClientError: 'CLIENT_EDIT_CLIENT_ERROR',\n GetClientById: 'CLIENT_GET_CLIENT_BY_ID',\n GetClientByIdSuccess: 'CLIENT_GET_CLIENT_BY_ID_SUCCESS',\n GetClientByIdError: 'CLIENT_GET_CLIENT_BY_ID_ERROR',\n ClearClient: 'CLIENT_CLEAR_CLIENT',\n ClearClientErrors: 'CLIENT_CLEAR_ERRORS',\n};\n","import { createAction } from '@reduxjs/toolkit';\nimport { ErrorPayload } from 'store/error/error.epic';\nimport { IEditClient, IPaginationOptions } from 'types/api';\nimport { ClientDTO, CreateClientDTO, Page } from 'utils/restApplicationClient';\nimport { ClientActionTypes } from './client.actions.types';\n\nexport const getAllClients = createAction(ClientActionTypes.GetAllClients);\n\nexport const getAllClientsError = createAction(ClientActionTypes.GetAllClientsError);\nexport const getAllClientsSuccess = createAction(ClientActionTypes.GetAllClientsSuccess);\nexport const createClient = createAction(ClientActionTypes.CreateClient);\nexport const createClientSuccess = createAction(ClientActionTypes.CreateClientSuccess);\nexport const createClientError = createAction(ClientActionTypes.CreateClientError);\n\nexport const getClientsPageable = createAction(ClientActionTypes.GetClientsPageable);\nexport const getClientsPageableSuccess = createAction>(ClientActionTypes.GetClientsPageableSuccess);\nexport const getClientsPageableError = createAction(ClientActionTypes.GetClientsPageableError);\nexport const editClient = createAction(ClientActionTypes.EditClient);\nexport const editClientSuccess = createAction(ClientActionTypes.EditClientSuccess);\nexport const editClientError = createAction(ClientActionTypes.EditClientError);\n\nexport const getClientById = createAction(ClientActionTypes.GetClientById);\nexport const getClientByIdSuccess = createAction(ClientActionTypes.GetClientByIdSuccess);\nexport const getClientByIdError = createAction(ClientActionTypes.GetClientByIdError);\n\nexport const clearClient = createAction(ClientActionTypes.ClearClient);\n\nexport const clearClientErrors = createAction(ClientActionTypes.ClearClientErrors);\n","import { createSelector } from '@reduxjs/toolkit';\nimport { AppState } from 'store';\nimport { IClientState } from './client.interface';\n\nexport const clientStateSelector = (state: AppState): IClientState => state.client;\n\nexport const getClientsPageableSelector = createSelector(clientStateSelector, ({ clientsPageable }) => clientsPageable);\n\nexport const getAllClientsSelector = createSelector(clientStateSelector, ({ clients }) => clients);\n\nexport const getAllActiveClientsSelector = createSelector(clientStateSelector, ({ clients }) =>\n clients.filter(({ status }) => status),\n);\n\nexport const getClientErrorsSelector = createSelector(clientStateSelector, ({ errors }) => errors);\n\nexport const getClientSelector = createSelector(clientStateSelector, ({ client }) => client);\n","import { Box } from '@material-ui/core';\nimport { Dispatch } from '@reduxjs/toolkit';\nimport ButtonContainer from 'components/Form/ButtonContainer/ButtonContainer';\nimport { EditData } from 'components/Form/CilentData/EditData';\nimport FormDiv from 'components/Form/Div/FormDiv';\nimport CustomCheckbox from 'components/Form/Input/CustomCheckbox';\nimport CustomField from 'components/Form/Input/CustomField';\nimport CustomSelect from 'components/Form/Input/CustomSelect';\nimport FormTitle from 'components/Form/Title/FormTitle';\nimport React, { Component } from 'react';\nimport { Field, Form } from 'react-final-form';\nimport { withTranslation, WithTranslation } from 'react-i18next';\nimport { connect } from 'react-redux';\nimport { RouteComponentProps, withRouter } from 'react-router-dom';\nimport { AppDispatch, AppState } from 'store';\nimport {\n clearAdministrator,\n clearAdministratorErrors,\n createAdministrator,\n editAdministrator,\n getAdministratorById,\n} from 'store/administrator/administrator.actions';\nimport { getAdministratorErrorsSelector, getAdministratorSelector } from 'store/administrator/administrator.selectors';\nimport { getAllClients } from 'store/client/client.actions';\nimport { getAllClientsSelector } from 'store/client/client.selectors';\nimport { getFetchSpinnerSelector } from 'store/spinner/spinner.selectors';\nimport { IEditAdministrator } from 'types/api';\nimport {\n composeValidators,\n email,\n fetchValidator,\n optionalValidator,\n password,\n required,\n} from 'utils/customValidators';\nimport { AdministratorDTO, ClientDTO } from 'utils/restApplicationClient';\nimport { CreateAdministratorDTO, UpdateAdministratorDTO } from 'utils/restApplicationClientTypeOverrides';\n\ninterface IState {\n submitValues?: CreateAdministratorDTO & UpdateAdministratorDTO;\n}\n\ninterface IDispatchProps {\n createAdministrator: (payload: CreateAdministratorDTO) => AppDispatch;\n getAllClients: () => AppDispatch;\n clearAdministratorErrors: () => AppDispatch;\n clearAdministrator: () => AppDispatch;\n getAdministratorById: (payload: string) => AppDispatch;\n editAdministrator: (payload: IEditAdministrator) => AppDispatch;\n}\n\ninterface IStateProps {\n clients: ClientDTO[];\n errors: { [key: string]: string | undefined };\n administrator?: AdministratorDTO;\n spinner: boolean;\n}\n\ninterface IProps {\n native?: boolean;\n}\n\ninterface IMatchParams {\n id?: string;\n}\n\nexport class AddAdministratorContainer extends Component<\n WithTranslation & RouteComponentProps & IDispatchProps & IStateProps & IProps,\n IState\n> {\n componentDidMount(): void {\n const {\n match: {\n params: { id: administratorId },\n },\n getAdministratorById,\n getAllClients,\n } = this.props;\n\n if (administratorId) {\n getAdministratorById(administratorId);\n }\n getAllClients();\n }\n\n componentWillUnmount(): void {\n const { clearAdministrator, clearAdministratorErrors } = this.props;\n clearAdministratorErrors();\n clearAdministrator();\n }\n\n parseClientSelect(rows: ClientDTO[]): Array<{ value: string; name: string }> {\n return rows.map((client) => ({\n value: client.id,\n name: client.clientName,\n }));\n }\n\n onSubmit = (values: CreateAdministratorDTO & UpdateAdministratorDTO): void => {\n const {\n match: {\n params: { id: administratorId },\n },\n createAdministrator,\n editAdministrator,\n } = this.props;\n this.props.clearAdministratorErrors();\n this.setState({ submitValues: values });\n if (administratorId) {\n editAdministrator({ administratorId, updateAdministrator: values });\n } else {\n createAdministrator(values);\n }\n };\n render(): JSX.Element {\n const {\n errors,\n match: {\n params: { id: administratorId },\n },\n administrator,\n native,\n spinner,\n } = this.props;\n return (\n \n \n (\n
\n \n \n optionalValidator(value, password) : password\n }\n label=\"common.password\"\n textFieldProps={{\n type: 'password',\n }}\n disableAutocomplete\n />\n \n {({ input, meta }): JSX.Element => (\n \n )}\n \n \n {administrator && (\n \n )}\n \n \n
\n )}\n />\n
\n );\n }\n}\n\nconst mapDispatchToProps = (dispatch: Dispatch): IDispatchProps => ({\n createAdministrator: (payload: CreateAdministratorDTO): AppDispatch => dispatch(createAdministrator(payload)),\n getAllClients: (): AppDispatch => dispatch(getAllClients()),\n clearAdministratorErrors: (): AppDispatch => dispatch(clearAdministratorErrors()),\n getAdministratorById: (payload: string): AppDispatch => dispatch(getAdministratorById(payload)),\n clearAdministrator: (): AppDispatch => dispatch(clearAdministrator()),\n editAdministrator: (payload: IEditAdministrator): AppDispatch => dispatch(editAdministrator(payload)),\n});\n\nconst mapStateToProps = (state: AppState): IStateProps => ({\n clients: getAllClientsSelector(state),\n errors: getAdministratorErrorsSelector(state),\n administrator: getAdministratorSelector(state),\n spinner: getFetchSpinnerSelector(state),\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(withRouter(withTranslation()(AddAdministratorContainer)));\n","import { css } from '@emotion/core';\nimport styled from '@emotion/styled';\n\nexport const Title = styled.div`\n margin: 16px 0;\n`;\n\nexport const addClientContainerStyles = {\n root: css`\n display: flex;\n flex-direction: column;\n align-items: center;\n height: 100%;\n justify-content: flex-start;\n `,\n heading: css`\n color: #0796eb;\n font-weight: 100;\n `,\n\n form: css`\n margin: 16px;\n `,\n btnContainer: css`\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n width: 40%;\n margin: 0 auto;\n margin-top: 20px !important;\n `,\n checkbox: css`\n display: flex;\n `,\n};\n","/** @jsx jsx */\nimport { jsx } from '@emotion/core';\nimport { Box } from '@material-ui/core';\nimport { Dispatch } from '@reduxjs/toolkit';\nimport ButtonContainer from 'components/Form/ButtonContainer/ButtonContainer';\nimport { EditData } from 'components/Form/CilentData/EditData';\nimport FormDiv from 'components/Form/Div/FormDiv';\nimport CustomCheckbox from 'components/Form/Input/CustomCheckbox';\nimport CustomField from 'components/Form/Input/CustomField';\nimport { CustomInputError } from 'components/Form/Input/CustomInput.styled';\nimport FormTitle from 'components/Form/Title/FormTitle';\nimport { useEffect, useState } from 'react';\nimport { Field, Form } from 'react-final-form';\nimport { useTranslation } from 'react-i18next';\nimport { connect } from 'react-redux';\nimport { useRouteMatch } from 'react-router-dom';\nimport { AppDispatch, AppState } from 'store';\nimport { clearClient, clearClientErrors, createClient, editClient, getClientById } from 'store/client/client.actions';\nimport { getClientErrorsSelector, getClientSelector } from 'store/client/client.selectors';\nimport { getFetchSpinnerSelector } from 'store/spinner/spinner.selectors';\nimport { IEditClient } from 'types/api';\nimport { composeValidators, fetchValidator, required } from 'utils/customValidators';\nimport { ClientDTO, CreateClientDTO } from 'utils/restApplicationClient';\nimport { addClientContainerStyles } from './addClientContainer.style';\n\ninterface IStateProps {\n errors: { [key: string]: string | undefined };\n client: ClientDTO | undefined;\n spinner: boolean;\n}\n\ninterface IDispatchProps {\n createClient: (payload: CreateClientDTO) => AppDispatch;\n editClient: (payload: IEditClient) => AppDispatch;\n getClientById: (payload: string) => AppDispatch;\n clearClient: () => AppDispatch;\n clearClientErrors: () => AppDispatch;\n}\n\n// eslint-disable-next-line max-lines-per-function\nexport const AddClientForm = (props: IStateProps & IDispatchProps): JSX.Element => {\n const {\n params: { id: clientId },\n } = useRouteMatch<{ id: string }>();\n\n const { t } = useTranslation();\n const { errors, createClient, editClient } = props;\n const [submitValues, setSubmitValues] = useState<{\n clientName?: string;\n status?: boolean;\n }>({\n clientName: undefined,\n status: undefined,\n });\n\n const { client, spinner } = props;\n\n const onSubmit = (values: CreateClientDTO): void => {\n props.clearClientErrors();\n setSubmitValues(values);\n\n if (clientId) {\n editClient({ clientId, updateClient: values });\n } else {\n createClient(values);\n }\n };\n\n useEffect(() => {\n if (clientId) {\n props.getClientById(clientId);\n }\n return (): void => {\n props.clearClient();\n props.clearClientErrors();\n };\n }, []);\n\n return (\n \n \n (\n
\n \n \n \n {stateErrors && submitFailed && {t(stateErrors.error)}}\n {client && }\n \n \n
\n )}\n />\n
\n );\n};\n\nconst mapDispatchToProps = (dispatch: Dispatch): IDispatchProps => ({\n createClient: (payload: CreateClientDTO): AppDispatch => dispatch(createClient(payload)),\n editClient: (payload: IEditClient): AppDispatch => dispatch(editClient(payload)),\n getClientById: (payload: string): AppDispatch => dispatch(getClientById(payload)),\n clearClient: (): AppDispatch => dispatch(clearClient()),\n clearClientErrors: (): AppDispatch => dispatch(clearClientErrors()),\n});\n\nconst mapStateToProps = (state: AppState): IStateProps => ({\n errors: getClientErrorsSelector(state),\n client: getClientSelector(state),\n spinner: getFetchSpinnerSelector(state),\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(AddClientForm);\n","import React from 'react';\n\nexport default function XTM(): JSX.Element {\n return (\n \n \n \n \n \n );\n}\n","import { css } from '@emotion/core';\nimport styled from '@emotion/styled';\nimport { Button } from '@material-ui/core';\n\nexport const accordionStyles = {\n root: css`\n margin: 0 0 20px 0 !important;\n box-sizing: border-box;\n width: 400px;\n `,\n summary: css`\n background: #dde0e6 !important;\n min-height: fit-content !important;\n\n .MuiAccordionSummary-content {\n margin: 0;\n align-items: center;\n span {\n padding-left: 8px;\n }\n }\n\n .MuiAccordionSummary-content.Mui-expanded {\n margin: 12px 0;\n }\n\n .Mui-expanded {\n margin: 0 !important;\n }\n\n .MuiIconButton-root {\n padding: 8px;\n }\n\n .MuiSvgIcon-root {\n padding-right: 0;\n width: auto;\n }\n .MuiSvgIcon-root.connectedIcon {\n transform-origin: center !important;\n transform: rotate(-45deg) !important;\n }\n\n .MuiAccordion-root {\n margin-bottom: 24px !important;\n }\n `,\n details: css`\n flex-direction: column;\n `,\n accordionError: css`\n border: 2px solid red;\n border-radius: 4px !important;\n `,\n accordionErrorText: css`\n color: red;\n text-align: start;\n max-width: 400px;\n margin: 12px 0;\n `,\n accordionLabel: css`\n font-weight: bold;\n color: #333;\n text-align: start;\n margin-top: 12px;\n `,\n spinner: css`\n width: 20px !important;\n height: auto !important;\n margin-right: 8px;\n `,\n buttonIcon: css`\n width: 20px;\n margin-right: 10px;\n `,\n};\n\nexport const AccordionDiv = styled.div`\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n align-items: start;\n margin-top: 20px;\n`;\n\nexport const AccordionButton = styled(Button)`\n height: 28px;\n font-size: 13px !important;\n & > * > svg {\n margin-right: 8px;\n }\n`;\n","import React from 'react';\n\nexport default function Link(): JSX.Element {\n return (\n \n \n \n );\n}\n","import React from 'react';\n\nexport default function LinkBroken(): JSX.Element {\n return (\n \n \n \n );\n}\n","/** @jsx jsx */\nimport { jsx } from '@emotion/core';\nimport { CircularProgress } from '@material-ui/core';\nimport ErrorIcon from '@material-ui/icons/Error';\nimport Link from 'icons/Link';\nimport LinkBroken from 'icons/LinkBroken';\nimport { Component, Fragment } from 'react';\nimport { accordionStyles } from './Accordion.style';\n\ninterface IProps {\n connected: boolean;\n spinner?: boolean;\n error?: boolean;\n touched?: boolean;\n}\n\nclass AccordionIcon extends Component {\n renderIcon(): JSX.Element {\n const { connected, spinner, error, touched } = this.props;\n if (error && touched) {\n return ;\n }\n if (spinner) {\n return ;\n }\n if (connected) {\n return ;\n }\n return ;\n }\n\n render(): JSX.Element {\n return {this.renderIcon()};\n }\n}\n\nexport default AccordionIcon;\n","export enum Roles {\n ADMIN_XTM = 'ROLE_XTM_ADMIN',\n ADMIN_CLIENT = 'ROLE_CLIENT_ADMIN',\n USER = 'USER',\n}\n","/** @jsx jsx */\nimport { jsx } from '@emotion/core';\nimport { Accordion, AccordionDetails, AccordionSummary, Box, CircularProgress, Typography } from '@material-ui/core';\nimport ExpandMoreIcon from '@material-ui/icons/ExpandMore';\nimport { UserRouteParameterEnum } from 'enums/userRouteParameter';\nimport { createForm, FormApi, Unsubscribe } from 'final-form';\nimport XTM from 'icons/Xtm';\nimport { Component, Fragment } from 'react';\nimport { Field, FieldRenderProps, Form } from 'react-final-form';\nimport { WithTranslation, withTranslation } from 'react-i18next';\nimport { connect } from 'react-redux';\nimport { RouteComponentProps, withRouter } from 'react-router-dom';\nimport { Dispatch } from 'redux';\nimport { AppDispatch, AppState } from 'store';\nimport { getconnectDataSpinnerSelector, getConnectToXtmSpinnerSelector } from 'store/spinner/spinner.selectors';\nimport { clearUserErrors, xtmConnect, xtmConnectUser, xtmGetConnectData } from 'store/user/user.actions';\nimport {\n getUserErrorsSelector,\n getUserSelector,\n getXtmAuthorizationIdSelector,\n getXtmConnectDataSelector,\n} from 'store/user/user.selectors';\nimport { composeValidators, fetchValidatorObject, required } from 'utils/customValidators';\nimport { UserDTO } from 'utils/restApplicationClient';\nimport { XTMConnectionParametersDTO, XTMConnectRequest } from 'utils/restApplicationClientTypeOverrides';\nimport CustomField from '../../Input/CustomField';\nimport { customInputStyles } from '../../Input/CustomInput.styled';\nimport { AccordionButton, AccordionDiv, accordionStyles } from '../Accordion.style';\nimport AccordionIcon from '../AccordionIcon';\n\ninterface IStateProps {\n errors: { [key: string]: string | undefined };\n authorizationId?: string;\n user?: UserDTO;\n connectData?: XTMConnectionParametersDTO;\n connectDataSpinner: boolean;\n connectToXtmSpinner: boolean;\n}\n\ninterface IDispatchProps {\n xtmConnect: (payload: XTMConnectRequest) => AppDispatch;\n xtmConnectUser: (payload: { userId: string; xtmParameters: XTMConnectRequest }) => AppDispatch;\n clearUserErrors: () => AppDispatch;\n getConnectData: (payload: string) => AppDispatch;\n}\n\ninterface IState {\n connected: boolean;\n submitValues: XTMConnectRequest;\n}\n\ninterface IMatchParams {\n id?: string;\n type?: UserRouteParameterEnum;\n}\n\ntype PropType = FieldRenderProps &\n WithTranslation &\n IStateProps &\n IDispatchProps &\n RouteComponentProps;\n\nexport class XtmConnectAccordion extends Component {\n unsubscribe: Unsubscribe;\n constructor(props: PropType) {\n super(props);\n this.state = {\n connected: false,\n submitValues: {\n userUuidToCopyPassword: null,\n xtmUrl: '',\n xtmCompanyName: '',\n password: '',\n username: '',\n },\n };\n this.form = createForm({\n onSubmit: this.onSubmit,\n });\n this.unsubscribe = this.form.subscribe(\n () => {\n const { errors } = this.props;\n\n if (errors && errors['xtmConnect']) {\n this.props.clearUserErrors();\n }\n },\n { values: true },\n );\n }\n\n componentDidMount(): void {\n const {\n match: {\n params: { id: userId },\n },\n getConnectData,\n } = this.props;\n if (userId) {\n getConnectData(userId);\n }\n }\n\n componentDidUpdate(previousProps: PropType): void {\n const {\n authorizationId,\n errors: { xtmConnect } = {},\n connectData,\n match: {\n params: { id: userId, type },\n },\n xtmConnectUser,\n } = this.props;\n const { connected } = this.state;\n\n if (previousProps.authorizationId !== authorizationId && authorizationId) {\n this.props.input.onChange(authorizationId);\n this.setState({ connected: true });\n } else if (xtmConnect && connected) {\n this.props.input.onChange(undefined);\n this.setState({ connected: false });\n }\n\n if (previousProps.connectData === undefined && connectData && userId && type === UserRouteParameterEnum.edit) {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { xtmUsername, xtmPassword, ...rest } = connectData;\n xtmConnectUser({\n userId,\n xtmParameters: {\n password: null,\n username: connectData.xtmUsername,\n userUuidToCopyPassword: userId,\n ...rest,\n },\n });\n }\n }\n\n componentWillUnmount(): void {\n this.unsubscribe();\n }\n\n form: FormApi>>;\n\n onSubmit = (values: XTMConnectRequest): void => {\n const {\n match: {\n params: { id: userId, type },\n },\n connectData,\n } = this.props;\n const isNewPassword = values.password !== connectData?.xtmPassword;\n if (userId) {\n const connectionParameters = {\n ...values,\n password: isNewPassword ? values.password : null,\n userUuidToCopyPassword: isNewPassword ? null : userId,\n };\n if (userId && type === UserRouteParameterEnum.edit) {\n this.props.xtmConnectUser({\n userId,\n xtmParameters: {\n ...connectionParameters,\n },\n });\n } else if (userId && type === UserRouteParameterEnum.duplicate) {\n this.props.xtmConnect({\n ...connectionParameters,\n });\n }\n } else {\n this.props.xtmConnect(values);\n }\n this.setState({ submitValues: values });\n };\n\n render(): JSX.Element {\n const { t, errors = {}, connectData, connectDataSpinner, connectToXtmSpinner, meta } = this.props;\n return (\n \n \n \n {t('users.xtm.connect')}\n \n \n \n }>\n \n \n {this.state.connected ? t('users.connected') : t('users.disconnected')}\n \n \n \n {errors['xtmConnect'] && {t(errors['xtmConnect'])}}\n ,\n )}\n subscription={{ pristine: true, submitting: true }}\n render={({ handleSubmit, submitting }): JSX.Element => (\n \n \n \n \n \n \n {connectToXtmSpinner ? (\n \n ) : (\n \n {t('users.xtm.connect')}\n \n )}\n \n \n )}\n />\n \n \n \n );\n }\n}\n\nconst mapStateToProps = (state: AppState): IStateProps => ({\n errors: getUserErrorsSelector(state),\n authorizationId: getXtmAuthorizationIdSelector(state),\n user: getUserSelector(state),\n connectData: getXtmConnectDataSelector(state),\n connectDataSpinner: getconnectDataSpinnerSelector(state),\n connectToXtmSpinner: getConnectToXtmSpinnerSelector(state),\n});\n\nconst mapDispatchToProps = (dispatch: Dispatch): IDispatchProps => ({\n xtmConnect: (payload: XTMConnectRequest): AppDispatch => dispatch(xtmConnect(payload)),\n clearUserErrors: (): AppDispatch => dispatch(clearUserErrors()),\n getConnectData: (payload: string): AppDispatch => dispatch(xtmGetConnectData(payload)),\n xtmConnectUser: (payload: { userId: string; xtmParameters: XTMConnectRequest }): AppDispatch =>\n dispatch(xtmConnectUser(payload)),\n});\n\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(withTranslation()(XtmConnectAccordion)));\n","export const ProjectActionTypes = {\n GetProjectsPageable: 'PROJECTS_GET_PROJECTS_PAGEABLE',\n GetProjectsPageableSuccess: 'PROJECTS_GET_PROJECTS_PAGEABLE_SUCCESS',\n GetProjectsPageableError: 'PROJECTS_GET_PROJECTS_PAGEABLE_ERROR',\n GetWorkflowSteps: 'GET_WORKFLOW_STEPS',\n GetWorkflowStepsSuccess: 'PGET_WORKFLOW_STEPS_SUCCESS',\n GetWorkflowStepsError: 'GET_WORKFLOW_STEPS_ERROR',\n GetWebhooks: 'GET_WEBHOOKS',\n GetWebhooksSuccess: 'GET_WEBHOOKS_SUCCESS',\n GetWebhooksError: 'GET_WEBHOOKS_ERROR',\n GetContentTypes: 'GET_CONTENT_TYPES',\n GetContentTypesError: 'GET_CONTENT_TYPES_ERROR',\n GetContentTypesSuccess: 'GET_CONTENT_TYPES_SUCCESS',\n GetContentElements: 'GET_CONTENT_ELEMENTS',\n GetContentElementsError: 'GET_CONTENT_ELEMENTS_ERROR',\n GetContentElementsSuccess: 'GET_CONTENT_ELEMENTS_SUCCESS',\n ConnectToKentico: 'CONNECT_TO_KENTICO',\n ConnectToKenticoSuccess: 'CONNECT_TO_KENTICO_SUCCESS',\n ConnectToKenticoError: 'CONNECT_TO_KENTICO_ERROR',\n GetApiKey: 'GET_API_KEY',\n GetApiKeySuccess: 'GET_API_KEY_SUCCESS',\n GetApiKeyError: 'GET_API_KEY_ERROR',\n AddProject: 'ADD_PROJECT',\n AddProjectSuccess: 'ADD_PROJECT_SUCCESS',\n AddProjectError: 'ADD_PROJECT_ERROR',\n EditProject: 'EDIT_PROJECT',\n EditProjectSuccess: 'EDIT_PROJECT_SUCCESS',\n EditProjectError: 'EDIT_PROJECT_ERROR',\n GetProjectById: 'GET_PROJECT_BY_ID',\n GetProjectByIdSuccess: 'GET_PROJECT_BY_ID_SUCCESS',\n GetProjectByIdError: 'GET_PROJECT_BY_ID_ERROR',\n ClearProjectErrors: 'CLEAR_PROJECT_ERROR',\n GetXTMLanguages: 'GET_XTM_LANGUAGES',\n GetXTMLanguagesSuccess: 'GET_XTM_LANGUAGES_SUCCESS',\n GetXTMLanguagesError: 'GET_XTM_LANGUAGES_ERROR',\n GetKenticoLanguages: 'GET_KENTICO_LANGUAGES',\n GetKenticoLanguagesSuccess: 'GET_KENTICO_LANGUAGES_SUCCESS',\n GetKenticoLanguagesError: 'GET_KENTICO_LANGUAGES_ERROR',\n GetProjectsByClientId: 'PROJECT_GET_PROJECTS_BY_CLIENT_ID',\n GetProjectsByClientIdSuccess: 'PROJECT_GET_PROJECTS_BY_CLIENT_ID_SUCCESS',\n GetProjectsByClientIdError: 'PROJECT_GET_PROJECTS_BY_CLIENT_ID_ERROR',\n updateFormProject: 'UPDATE_FORM_PROJECT',\n clearProjectFormAll: 'CLEAR_PROJECT_FORM_ALL',\n allFormObservers: 'ALL_FORM_OBSERVER',\n};\n","import { createAction } from '@reduxjs/toolkit';\nimport { ErrorPayload } from 'store/error/error.epic';\nimport { IPaginationOptions } from 'types/api';\nimport {\n ApiKeysDTO,\n CreateOrUpdateProjectDTO,\n KontentContentElementTypeDTO,\n KontentContentTypeDTO,\n KontentProjectDTO,\n KontentProjectOverviewDTO,\n KontentWebhookDTO,\n KontentWorkflowStepDTO,\n Page,\n XTMLanguageDTO,\n} from 'utils/restApplicationClient';\nimport { KontentLanguageDTO } from '../../../../xtm-kontent-app/src/utils/restApplicationClient';\nimport { ProjectActionTypes } from './project.actions.types';\nimport { IConntectedProject, IProjectForm } from './project.interface';\n\nexport const getProjectsPageable = createAction(ProjectActionTypes.GetProjectsPageable);\n\nexport const getProjectsPageableSuccess = createAction>(\n ProjectActionTypes.GetProjectsPageableSuccess,\n);\n\nexport const getProjectsPageableError = createAction(ProjectActionTypes.GetProjectsPageableError);\n\nexport const getContentTypes = createAction(ProjectActionTypes.GetContentTypes);\n\nexport const getContentTypesSuccess = createAction(ProjectActionTypes.GetContentTypesSuccess);\n\nexport const getContentTypesError = createAction(ProjectActionTypes.GetContentTypesError);\n\nexport const getContentElements = createAction(ProjectActionTypes.GetContentElements);\n\nexport const getContentElementsSuccess = createAction(\n ProjectActionTypes.GetContentElementsSuccess,\n);\n\nexport const getContentElementsError = createAction(ProjectActionTypes.GetContentElementsError);\n\nexport const getWorkflowSteps = createAction(ProjectActionTypes.GetWorkflowSteps);\n\nexport const getWorkflowStepsSuccess = createAction(\n ProjectActionTypes.GetWorkflowStepsSuccess,\n);\n\nexport const getWorkflowStepsError = createAction(ProjectActionTypes.GetProjectsPageableError);\n\nexport const getWebhooks = createAction(ProjectActionTypes.GetWebhooks);\n\nexport const getWebhooksSuccess = createAction(ProjectActionTypes.GetWebhooksSuccess);\n\nexport const getWebhooksError = createAction(ProjectActionTypes.GetWebhooksError);\n\nexport const connectToKentico = createAction(ProjectActionTypes.ConnectToKentico);\n\nexport const connectToKenticoSuccess = createAction(ProjectActionTypes.ConnectToKenticoSuccess);\n\nexport const connectToKenticoError = createAction(ProjectActionTypes.ConnectToKenticoError);\n\nexport const getApiKey = createAction(ProjectActionTypes.GetApiKey);\n\nexport const getApiKeySuccess = createAction(ProjectActionTypes.GetApiKeySuccess);\n\nexport const getApiKeyError = createAction(ProjectActionTypes.GetApiKeyError);\n\nexport const addProject = createAction(ProjectActionTypes.AddProject);\n\nexport const addProjectSuccess = createAction(ProjectActionTypes.AddProjectSuccess);\n\nexport const addProjectError = createAction(ProjectActionTypes.AddProjectError);\n\nexport const editProject = createAction<{\n projectId: string;\n projectData: CreateOrUpdateProjectDTO;\n}>(ProjectActionTypes.EditProject);\n\nexport const editProjectSuccess = createAction(ProjectActionTypes.EditProjectSuccess);\n\nexport const editProjectError = createAction(ProjectActionTypes.EditProjectError);\n\nexport const getProjectById = createAction(ProjectActionTypes.GetProjectById);\n\nexport const getProjectByIdSuccess = createAction(ProjectActionTypes.GetProjectByIdSuccess);\n\nexport const getProjectByIdError = createAction(ProjectActionTypes.GetProjectByIdError);\n\nexport const clearProjectErrors = createAction(ProjectActionTypes.ClearProjectErrors);\n\nexport const getKenticoLanguages = createAction(ProjectActionTypes.GetKenticoLanguages);\n\nexport const getKenticoLanguagesSuccess = createAction(\n ProjectActionTypes.GetKenticoLanguagesSuccess,\n);\n\nexport const getKenticoLanguagesError = createAction(ProjectActionTypes.GetKenticoLanguagesError);\n\nexport const getXtmLanguages = createAction(ProjectActionTypes.GetXTMLanguages);\n\nexport const getXtmLanguagesSuccess = createAction(ProjectActionTypes.GetXTMLanguagesSuccess);\n\nexport const getXtmLanguagesError = createAction(ProjectActionTypes.GetXTMLanguagesError);\n\nexport const GetProjectsByClientId = createAction<{ clientUUID: string }>(ProjectActionTypes.GetProjectsByClientId);\n\nexport const GetProjectsByClientIdSuccess = createAction>(\n ProjectActionTypes.GetProjectsByClientIdSuccess,\n);\n\nexport const GetProjectsByClientIdError = createAction(ProjectActionTypes.GetProjectsByClientIdError);\n\nexport const updateFormProject = createAction(ProjectActionTypes.updateFormProject);\n\nexport const clearProjectFormAll = createAction(ProjectActionTypes.clearProjectFormAll);\n\nexport const allFormObservers = createAction(ProjectActionTypes.allFormObservers);","import { createSelector } from '@reduxjs/toolkit';\nimport { AppState } from 'store';\nimport { IProjectState } from './project.interface';\n\nexport const projectStateSelector = (state: AppState): IProjectState => state.project;\n\nexport const getProjectsPageableSelector = createSelector(\n projectStateSelector,\n ({ projectsPageable }) => projectsPageable,\n);\n\nexport const getProjectErrorsSelector = createSelector(projectStateSelector, ({ errors }) => errors);\n\nexport const getProjectFormSelector = createSelector(projectStateSelector, ({ form }) => form);\n\nexport const getClientProjectsSelector = createSelector(projectStateSelector, ({ clientProjects }) => clientProjects);\n","import { css } from '@emotion/core';\nimport styled from '@emotion/styled';\nimport { Box, Checkbox, Chip, IconButton, InputBase, Link, Paper, Popper, Typography } from '@material-ui/core';\n\nexport interface IDisabledProps {\n disabled?: number;\n spinner?: number;\n}\nexport interface IPaperProps {\n width: number;\n}\n\nexport interface IInputProps {\n error: number;\n opened: number;\n hovered: number;\n height?: number;\n width?: number;\n}\n\nexport const DraggableSelectChip = styled(Chip)`\n margin: 8px 2px;\n`;\n\nexport const DraggableSelectEllipsisContainer = styled(Box)`\n align-items: flex-start;\n opacity: ${({ disabled }: IDisabledProps) => (disabled ? `0.5` : '1')};\n display: ${({ spinner }: IDisabledProps) => (spinner ? `none` : 'flex')};\n`;\n\nexport const DraggableSelectEllipsis = styled.span`\n margin-top: 3px !important;\n`;\n\nexport const DraggableSelectArrowContainer = styled(Box)`\n align-items: flex-start;\n opacity: ${({ disabled }: IDisabledProps) => (disabled ? `0.5` : '1')};\n display: ${({ spinner }: IDisabledProps) => (spinner ? `none` : 'flex')};\n`;\n\nexport const DraggableSelectButtonTypography = styled(Typography)`\n display: flex;\n justify-content: space-between;\n background: #e0e0e0;\n margin: 3px;\n border-radius: 20px;\n min-width: 50px;\n padding: 0 5px;\n`;\n\nexport const DraggableSelectIconButton = styled(IconButton)`\n padding: 0 !important;\n color: #fff;\n margin-top: 3px !important;\n`;\n\nexport const DraggableSelectOptionCheckbox = styled(Checkbox)`\n padding: 0 !important;\n`;\n\nexport const DraggableSelectInputContainer = styled(Box)`\n display: flex;\n justify-content: center;\n min-height: 32px;\n`;\n\nexport const DraggableSelectInput = styled(InputBase)`\n width: 90%;\n margin: 10px;\n border: 1px solid rgba(0, 0, 0, 0.23);\n\n .MuiInputBase-input {\n padding: 5px;\n min-height: 30px;\n }\n`;\n\nexport const DraggableSelectChipContainer = styled(Box)`\n width: 100%;\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n`;\n\nexport const DraggableSelectDataContainer = styled(Box)`\n border: 1px solid rgba(0, 0, 0, 0.23) !important;\n border-color: ${({ error }: IInputProps) => (error ? `#f44336` : 'rgba(0, 0, 0, 0.23)')} !important;\n display: flex;\n margin: 5px 0;\n border-radius: ${({ opened }: IInputProps) => (opened ? `4px 4px 0 0` : '4px')} !important;\n background: #fff;\n padding: 0 6px;\n justify-content: space-between !important;\n min-height: 32px;\n max-height: 32px;\n box-sizing: border-box;\n overflow: ${({ hovered, opened }: IInputProps) => (hovered || opened ? `auto` : 'hidden')};\n max-height: ${({ hovered, height }: IInputProps) => (hovered ? `${height}px` : '32px')};\n overflow: hidden;\n width: ${({ width }: IInputProps) => (width ? `${width}px` : '100%')};\n transition: ${({ opened }: IInputProps) => (opened ? `unset` : 'max-height 0.2s ease')};\n\n &:hover {\n cursor: pointer;\n border-color: ${({ error }: IInputProps) => (error ? `#f44336` : '#536171')} !important;\n }\n\n .MuiChip-root {\n margin: 4px 2px !important;\n }\n\n .MuiChip-deleteIconSmall {\n width: 22px;\n height: 22px;\n color: white;\n }\n`;\n\nexport const DraggableSelectSpinnerContainer = styled(Box)`\n align-items: center;\n margin-right: 5px;\n display: ${({ spinner }: IDisabledProps) => (spinner ? `flex` : 'none')};\n`;\n\nexport const DraggableSelectDefaultChip = styled.span`\n color: rgba(0, 0, 0, 0.35);\n padding-left: 5px;\n`;\n\nexport const DraggableSelectActionButton = styled(Link)`\n color: #00a4e4 !important;\n\n &:hover {\n opacity: 0.8;\n cursor: pointer;\n }\n`;\n\nexport const DraggableSelectButtonContainer = styled.div`\n display: flex;\n justify-content: space-between;\n padding: 0 10px;\n`;\n\nexport const DraggableSelectAutocompletePaper = styled(Paper)`\n margin-left: -1px !important;\n margin-top: 0 !important;\n width: ${({ width }: IPaperProps) => (width ? `${width}px` : 'initial')};\n border: 1px solid rgba(0, 0, 0, 0.23);\n border-radius: unset !important;\n box-shadow: unset !important;\n\n .MuiAutocomplete-listbox {\n max-height: 25vh !important;\n }\n`;\n\nexport const DraggableSelectPopper = styled(Popper)`\n width: ${({ width }: IPaperProps) => (width ? `${width}px` : 'initial')};\n border: 1px solid rgba(0, 0, 0, 0.23);\n border-top: 0;\n`;\n\nexport const DraggableSelectSelectClasses = {\n autocomplete: css`\n position: relative;\n background-color: #fff;\n box-sizing: border-box;\n `,\n};\n","/** @jsx jsx */\nimport { jsx } from '@emotion/core';\nimport { Box, BoxProps, CircularProgress, Typography } from '@material-ui/core';\nimport ArrowDropDownIcon from '@material-ui/icons/ArrowDropDown';\nimport CloseIcon from '@material-ui/icons/Close';\nimport SearchIcon from '@material-ui/icons/Search';\nimport { Autocomplete } from '@material-ui/lab';\nimport React, { ChangeEvent, Component, ComponentType, createRef, Fragment, MouseEventHandler } from 'react';\nimport { DragDropContext, Draggable, Droppable, OnDragEndResponder, OnDragStartResponder } from 'react-beautiful-dnd';\nimport { FieldRenderProps } from 'react-final-form';\nimport { withTranslation, WithTranslation } from 'react-i18next';\nimport { IAutocompleteField } from 'types/shared';\nimport { CustomAutocompleteTypography, CustomTypography, InputDiv } from '../CustomInput.styled';\nimport {\n DraggableSelectActionButton,\n DraggableSelectArrowContainer,\n DraggableSelectAutocompletePaper,\n DraggableSelectButtonContainer,\n DraggableSelectChip,\n DraggableSelectChipContainer,\n DraggableSelectDataContainer,\n DraggableSelectDefaultChip,\n DraggableSelectEllipsis,\n DraggableSelectEllipsisContainer,\n DraggableSelectIconButton,\n DraggableSelectInput,\n DraggableSelectInputContainer,\n DraggableSelectOptionCheckbox,\n DraggableSelectPopper,\n DraggableSelectSelectClasses,\n DraggableSelectSpinnerContainer,\n} from './DraggableSelect.styled';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ninterface IProps extends FieldRenderProps {\n options: Array;\n onChange?: (value: Array | null) => void;\n onHandleChange?: (\n selectedCustomers: Array | null,\n value: Array | null\n ) => void;\n handleChipDelete?: (index: number) => void;\n handleSelectAll?: (selectedCustomers: Array, options: Array) => void;\n handleClearAll?: (selectedCustomers: Array) => void;\n handleDragEnd?: (destination: number, source: number) => void;\n column?: boolean;\n label: string;\n noOptionsText?: string;\n error?: string;\n spinner?: boolean;\n disabled?: boolean;\n placeholder?: string;\n allowDragAndDrop?: boolean;\n width?: number;\n}\n\ninterface IState {\n canOpen: boolean;\n id?: string;\n isDragged: boolean;\n isHovered: boolean;\n isOpened: boolean;\n chipTotalHeight: number;\n anchorEl?: EventTarget & HTMLDivElement;\n elements: Array | null;\n}\n\ntype PropType = IProps & WithTranslation;\n\nexport class DraggableSelect extends Component {\n private inputContainerRef = createRef, Record>>();\n private arrowRef = createRef, Record>>();\n private draggableContextRef = createRef, Record>>();\n\n private chipElements: HTMLElement[] = [];\n private draggableContextWidth = 0;\n constructor(props: PropType) {\n super(props);\n this.state = {\n canOpen: true,\n isDragged: false,\n isHovered: false,\n isOpened: false,\n chipTotalHeight: 32,\n elements: null,\n };\n }\n\n componentDidUpdate(): void {\n const draggableElement = this.draggableContextRef?.current as unknown as HTMLElement;\n const arrowElement = this.arrowRef?.current as unknown as HTMLElement;\n // eslint-disable-next-line unicorn/prefer-spread\n const chipElements: HTMLElement[] = Array.from(draggableElement?.querySelectorAll('.MuiChip-root') || []);\n const draggableContextWidth = draggableElement?.offsetWidth - arrowElement?.offsetWidth;\n\n if (this.chipElements?.length !== chipElements.length || draggableContextWidth !== this.draggableContextWidth) {\n this.chipElements = chipElements;\n this.draggableContextWidth = draggableContextWidth;\n }\n\n this.checkChipContainerHeight();\n }\n\n handleChange = (event: React.ChangeEvent<{}>, value: Array | null): void => {\n const { onChange, input, onHandleChange, disabled, spinner } = this.props;\n\n if (!disabled && !spinner) {\n onChange?.(value);\n onHandleChange?.(input.value, value);\n\n this.setState({ elements: value });\n input.onChange(value);\n }\n };\n\n handleClick: MouseEventHandler = (event): void => {\n const { disabled } = this.props;\n const { anchorEl, canOpen, isDragged } = this.state;\n\n if (canOpen && !isDragged && !disabled) {\n this.setState({ anchorEl: anchorEl ? undefined : event.currentTarget, canOpen: false });\n }\n };\n\n handleClose = (event?: ChangeEvent<{}>): void => {\n event?.stopPropagation();\n\n this.setState({ anchorEl: undefined });\n setTimeout(() => {\n this.setState({ canOpen: true });\n }, 100);\n };\n\n onChipDelete = (value: string) => (): void => {\n const { input, onChange, handleChipDelete } = this.props;\n\n const data = (input.value as IAutocompleteField[])?.filter((record, index) => {\n if (record.value !== value) {\n return true;\n }\n handleChipDelete?.(index);\n return false;\n });\n\n this.setState({ elements: data });\n input.onChange(data);\n onChange?.(data);\n };\n\n onSelectAll = (): void => {\n const { input, options, onChange, handleSelectAll, disabled, spinner } = this.props;\n\n if (!disabled && !spinner) {\n handleSelectAll?.(input.value, options);\n input.onChange(options);\n onChange?.(options);\n }\n };\n\n onClearAll = (): void => {\n const { input, onChange, handleClearAll, disabled, spinner } = this.props;\n\n if (!disabled && !spinner) {\n handleClearAll?.(input.value);\n input.onChange([]);\n onChange?.(null);\n }\n };\n\n onDragEnd: OnDragEndResponder = ({ destination, source }) => {\n const {\n input: { value, onChange },\n onChange: customOnChange,\n handleDragEnd,\n } = this.props;\n\n if (!destination) {\n return;\n }\n\n const filteredData = value as IAutocompleteField[];\n const [removed] = filteredData.splice(source.index, 1);\n\n handleDragEnd?.(destination.index, source.index);\n\n filteredData.splice(destination.index, 0, removed);\n onChange(filteredData);\n customOnChange?.(filteredData);\n this.setState({ isDragged: false });\n };\n\n onDragStart: OnDragStartResponder = (): void => {\n this.setState({ isDragged: true });\n };\n\n checkIfOverflowed = (): boolean => {\n let width = 0;\n\n return this.chipElements?.some((node) => {\n width += node.offsetWidth;\n return width > this.draggableContextWidth;\n });\n };\n\n handleInputMouseEvent = (value: boolean) => (): void => {\n this.setState({ isHovered: value });\n };\n\n checkChipContainerHeight = (): void => {\n const chipParentHeight = this.chipElements[0]?.parentElement?.offsetHeight;\n let count = 1;\n let width = 0;\n this.chipElements?.forEach((node) => {\n width += node.offsetWidth;\n\n if (width > this.draggableContextWidth) {\n count += 1;\n width = 0;\n }\n });\n const chipTotalHeight = count * (chipParentHeight ?? 0);\n\n if (this.state.chipTotalHeight !== chipTotalHeight) {\n this.setState({ chipTotalHeight });\n }\n };\n\n render(): JSX.Element {\n const {\n options,\n column,\n input,\n label,\n t,\n meta,\n spinner,\n disabled,\n noOptionsText,\n width,\n allowDragAndDrop,\n placeholder,\n error,\n } = this.props;\n const { anchorEl, isHovered, chipTotalHeight } = this.state;\n const inputValue = input.value as IAutocompleteField[];\n const popperElement = this.inputContainerRef.current as unknown as HTMLElement;\n const popperWidth = popperElement?.offsetWidth ?? 0;\n\n return (\n \n \n \n {t(label)}\n \n \n \n \n \n \n \n {inputValue &&\n inputValue?.map(({ label, value }, index) => (\n \n {(provided): JSX.Element => (\n
\n {provided.placeholder}\n\n \n {(provided): JSX.Element => (\n }\n label={\n
\n {label}\n {index === 0 && allowDragAndDrop && (\n {`(${t(\n 'common.default'\n )})`}\n )}\n
\n }\n size=\"small\"\n onDelete={this.onChipDelete(value)}\n />\n )}\n
\n
\n )}\n
\n ))}\n
\n
\n\n \n \n \n\n {this.checkIfOverflowed() && !isHovered && !anchorEl && (\n \n ...\n \n )}\n\n \n \n \n \n \n \n \n (\n \n )}\n open\n multiple\n options={options}\n onClose={this.handleClose}\n disablePortal\n disableCloseOnSelect\n noOptionsText={!options.length ? noOptionsText : undefined}\n getOptionLabel={(option): string => (option.label ? option.label : '')}\n onChange={this.handleChange}\n getOptionSelected={(option, value): boolean => value.label === option.label}\n value={input.value ? input.value : []}\n renderInput={(parameters): JSX.Element => (\n \n \n }\n placeholder={placeholder ? placeholder : t('common.searchPlaceholder')}\n autoFocus\n />\n \n \n \n Select all\n \n \n Clear\n \n \n \n )}\n renderOption={({ label }, { selected }): JSX.Element => (\n \n \n \n {label}\n \n \n )}\n size=\"small\"\n />\n \n
\n\n {(error || (meta.error && meta.touched)) && (\n \n {t(error || meta.error)}\n \n )}\n
\n
\n );\n }\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport default withTranslation()(DraggableSelect) as ComponentType>;\n","import styled from '@emotion/styled';\n\nexport const ConnectedFieldsCheckboxGroup = styled.div`\n > * {\n margin: 28px 0;\n }\n`;\n","import styled from '@emotion/styled';\nimport { IconButton } from '@material-ui/core';\n\nexport const CustomLanguageMappingFieldContainer = styled.div`\n margin: 12px 12px 8px 0;\n width: 100%;\n`;\n\nexport const CustomLanguageMappingContainer = styled.fieldset`\n margin: 20px -16px;\n display: flex;\n flex-direction: column;\n padding: 16px 13px 16px 15px;\n border: 1px solid #6f8294;\n`;\n\nexport const CustomLanguageMappingLegend = styled.legend`\n text-align: initial;\n font-weight: 700;\n font-size: 14px;\n color: #333;\n padding: 0 4px;\n margin-left: -5px;\n`;\n\nexport const CustomLanguageMappingButton = styled(IconButton)`\n align-self: flex-start;\n padding: 0 !important;\n color: #38af49 !important;\n`;\n\nexport const CustomLanguageMappingRemoveButton = styled(IconButton)`\n margin: 36px -8px 0 -8px !important;\n`;\n","/** @jsx jsx */\nimport { jsx } from '@emotion/core';\nimport { Accordion, AccordionDetails, AccordionSummary, Box, Typography } from '@material-ui/core';\nimport ExpandMoreIcon from '@material-ui/icons/ExpandMore';\nimport ViewListIcon from '@material-ui/icons/ViewList';\nimport { IForm } from 'containers/AddUser/AddUserContainer';\nimport { FormApi } from 'final-form';\nimport { Component, Fragment } from 'react';\nimport { Field } from 'react-final-form';\nimport { FieldArray } from 'react-final-form-arrays';\nimport { WithTranslation, withTranslation } from 'react-i18next';\nimport { IUserState } from 'store/user/user.interface';\nimport { IAutocompleteField } from 'types/shared';\nimport { requiredAutocomplete } from 'utils/customValidators';\nimport { XTMTemplateDTO } from '../../../../../xtm-kontent-app/src/utils/restApplicationClient';\nimport { AccordionDiv, accordionStyles } from '../Accordion/Accordion.style';\nimport { customInputStyles } from '../Input/CustomInput.styled';\nimport DraggableSelect from '../Input/DraggableSelect/DraggableSelect';\n\ninterface IProps {\n form: FormApi;\n templates: IUserState['templates'];\n customers: Array<{\n label: string;\n value: string;\n }>;\n spinner: boolean;\n initialTemplates?: Array>;\n}\n\ntype PropType = IProps & WithTranslation;\n\nexport class TemplatesAccordion extends Component {\n mapTemplatesToRows = (templates?: Array): Array<{ value: string; label: string }> => {\n return templates?.map(({ name, xtmTemplateId }) => ({ value: xtmTemplateId.toString(), label: name })) || [];\n };\n\n renderTemplateFields = (): JSX.Element => {\n const { customers, templates, initialTemplates } = this.props;\n\n return (\n \n {(customers.length > 0 && (\n \n {({ fields }): Array =>\n fields.map((name, index) => (\n \n ))\n }\n \n )) || (\n \n \n \n Select at least one customer from above list\n \n \n )}\n \n );\n };\n render(): JSX.Element {\n const { t } = this.props;\n return (\n \n \n \n {t('users.xtm.templates')}\n \n \n \n }>\n {t('common.selectPlaceholder')}\n \n {this.renderTemplateFields()}\n \n \n );\n }\n}\n\nexport default withTranslation()(TemplatesAccordion);\n","/** @jsx jsx */\nimport { jsx } from '@emotion/core';\nimport { Box } from '@material-ui/core';\nimport { IForm } from 'containers/AddUser/AddUserContainer';\nimport { FormApi } from 'final-form';\nimport { Component, Fragment } from 'react';\nimport { Field } from 'react-final-form';\nimport { OnChange } from 'react-final-form-listeners';\nimport { WithTranslation, withTranslation } from 'react-i18next';\nimport { connect } from 'react-redux';\nimport { Dispatch } from 'redux';\nimport { AppDispatch, AppState } from 'store';\nimport { GetProjectsByClientId } from 'store/project/project.actions';\nimport { getClientProjectsSelector } from 'store/project/project.selectors';\nimport {\n getCustomerSpinnerSelector,\n getProjectSpinnerSelector,\n getTemplateSpinnerSelector,\n} from 'store/spinner/spinner.selectors';\nimport { clearXtmTemplates, xtmGetTemplates } from 'store/user/user.actions';\nimport { IUserState, XTMGetTemplatesDTO } from 'store/user/user.interface';\nimport {\n getDefaultUserLanguagesSelector,\n getXtmCustomersSelector,\n getXtmTemplatesSelector,\n} from 'store/user/user.selectors';\nimport { IAutocompleteField } from 'types/shared';\nimport { composeValidators, isAllowedPrefix, isNumber, required, requiredAutocomplete } from 'utils/customValidators';\nimport { KontentProjectOverviewDTO, UserDTO, XTMCustomerInfoDTO, XTMLanguageDTO } from 'utils/restApplicationClient';\nimport { EditData } from '../CilentData/EditData';\nimport CustomCheckbox from '../Input/CustomCheckbox';\nimport CustomField from '../Input/CustomField';\nimport DraggableSelect from '../Input/DraggableSelect/DraggableSelect';\nimport { ConnectedFieldsCheckboxGroup } from './ConnectedFields.styled';\nimport {\n CustomLanguageMappingContainer,\n CustomLanguageMappingLegend,\n} from './LanguageMapping/LanguageMappingContainer.styled';\nimport TemplatesAccordion from './TemplatesAccordion';\n\ninterface IProps {\n native?: boolean;\n authorizationId: string;\n user?: UserDTO;\n form: FormApi;\n initialCustomers?: Array;\n initialTemplates?: Array>;\n}\n\ninterface IState {\n selectedCustomers?: Array;\n initialProjects?: Array;\n}\n\ninterface IDispatchProps {\n getTemplates: (payload: XTMGetTemplatesDTO) => AppDispatch;\n clearTemplates: () => AppDispatch;\n getProjectsByClientId: (payload: { clientUUID: string }) => AppDispatch;\n}\n\ninterface IStateProps {\n customers?: XTMCustomerInfoDTO[];\n templates: IUserState['templates'];\n customerSpinner: boolean;\n templateSpinner: boolean;\n defaultLanguages?: XTMLanguageDTO[];\n clientProjects: KontentProjectOverviewDTO[];\n projectsSpinner: boolean;\n}\n\ntype PropType = IProps & IDispatchProps & IStateProps & WithTranslation;\n\nexport class ConnectedUserFields extends Component {\n constructor(props: PropType) {\n super(props);\n this.state = {\n selectedCustomers: [],\n initialProjects: undefined,\n };\n }\n\n componentDidMount(): void {\n const { form, getProjectsByClientId } = this.props;\n const { clientUUID } = form.getState().values;\n if (clientUUID) {\n getProjectsByClientId({ clientUUID });\n }\n }\n\n componentDidUpdate(previousProps: PropType): void {\n const { user, clientProjects } = this.props;\n\n if (user !== previousProps.user || clientProjects !== previousProps.clientProjects) {\n this.mapAssignedProjects();\n }\n }\n\n handleCustomerChange = (value: Array | null): void => {\n const { getTemplates, authorizationId } = this.props;\n\n this.setState({\n selectedCustomers: value || [],\n });\n if (value) {\n getTemplates({ xtmAuthId: authorizationId, xtmCustomerIds: value.map((customer) => Number(customer.value)) });\n }\n };\n\n handleOnCustomerChange = (\n selectedCustomers: Array | null,\n value: Array | null\n ): void => {\n const {\n form: { mutators },\n } = this.props;\n\n if (selectedCustomers && selectedCustomers.length > 0 && value && value.length > 0) {\n const valueIds = value.map(({ value }) => value);\n const removedIndex = selectedCustomers.findIndex(({ value }) => !valueIds.includes(value));\n\n if (removedIndex >= 0) {\n mutators.remove('xtmTemplates', removedIndex);\n return;\n }\n } else if (value && value.length === 0) {\n mutators.remove('xtmTemplates', 0);\n return;\n }\n mutators.push('xtmTemplates', []);\n };\n\n handleChipDelete = (index: number): void => {\n const {\n form: { mutators },\n } = this.props;\n\n mutators.remove('xtmTemplates', index);\n };\n\n handleSelectAllCustomers = (\n selectedCustomers: Array,\n options: Array\n ): void => {\n const { form } = this.props;\n const previousTemplates = form.getState().values.xtmTemplates;\n\n if (selectedCustomers) {\n const previousCustomers = selectedCustomers?.map(({ value }) => value) || [];\n\n selectedCustomers.forEach((customer, index) => {\n form.mutators.update('xtmTemplates', index, []);\n });\n\n form.mutators.concat('xtmTemplates', new Array<[]>(options.length - previousCustomers.length));\n\n previousCustomers.forEach((previousCustomerId, index) => {\n const templateIndex = options.findIndex((option) => option.value === previousCustomerId);\n\n if (templateIndex >= 0) {\n form.mutators.update('xtmTemplates', templateIndex, previousTemplates[index]);\n }\n });\n } else {\n form.mutators.concat('xtmTemplates', new Array<[]>(options.length));\n }\n };\n\n handleClearAllCustomers = (selectedCustomers: Array): void => {\n const {\n form: { mutators },\n } = this.props;\n if (selectedCustomers) {\n const previousCustomerIndexes = selectedCustomers.map((customer, index) => index);\n\n mutators.removeBatch('xtmTemplates', previousCustomerIndexes);\n }\n };\n\n handleDragEnd = (destination: number, source: number): void => {\n const {\n form: { mutators },\n } = this.props;\n\n mutators.swap('xtmTemplates', source, destination);\n };\n\n mapCustomersToRows = (customers?: Array): Array<{ value: string; label: string }> => {\n return customers?.map((customer) => ({ value: customer.xtmCustomerId.toString(), label: customer.name })) || [];\n };\n\n mapAssignedProjects = (): void => {\n const { user, clientProjects } = this.props;\n\n if (user && clientProjects.length > 0) {\n const { assignedProjectIds } = user;\n\n const initialProjects = assignedProjectIds\n .map((assignedProjectId) => {\n const project = clientProjects.find((clientProject) => clientProject.id === assignedProjectId);\n\n if (project) {\n return {\n label: project.kenticoProjectName,\n value: assignedProjectId,\n };\n }\n return undefined;\n })\n .filter((value) => value) as Array;\n\n this.setState({\n initialProjects,\n });\n\n return;\n }\n this.setState({\n initialProjects: undefined,\n });\n };\n\n render(): JSX.Element {\n const {\n user,\n form,\n clientProjects,\n customers,\n templateSpinner,\n customerSpinner,\n templates,\n initialCustomers,\n initialTemplates,\n projectsSpinner,\n t,\n } = this.props;\n const { selectedCustomers, initialProjects } = this.state;\n\n return (\n \n \n {(value: Array): void => {\n this.setState({\n selectedCustomers: value || [],\n });\n }}\n \n \n \n \n \n \n \n {t('users.xtm.emailNotifications')}\n \n \n \n \n \n ({ label: kenticoProjectName, value: id }))}\n spinner={projectsSpinner}\n />\n \n \n \n {user && }\n \n );\n }\n}\n\nconst mapStateToProps = (state: AppState): IStateProps => ({\n customers: getXtmCustomersSelector(state),\n templates: getXtmTemplatesSelector(state),\n customerSpinner: getCustomerSpinnerSelector(state),\n templateSpinner: getTemplateSpinnerSelector(state),\n defaultLanguages: getDefaultUserLanguagesSelector(state),\n clientProjects: getClientProjectsSelector(state),\n projectsSpinner: getProjectSpinnerSelector(state),\n});\n\nconst mapDispatchToProps = (dispatch: Dispatch): IDispatchProps => ({\n getTemplates: (payload: XTMGetTemplatesDTO): AppDispatch => dispatch(xtmGetTemplates(payload)),\n clearTemplates: (): AppDispatch => dispatch(clearXtmTemplates()),\n getProjectsByClientId: (payload: { clientUUID: string }): AppDispatch => dispatch(GetProjectsByClientId(payload)),\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(withTranslation()(ConnectedUserFields));\n","export enum OrderDirection {\n ASC = 'asc',\n DESC = 'desc',\n}\n","import { Roles } from 'enums/roles';\n\n/**\n * Return whether user roles match route roles\n *\n * @param {Roles} routeRoles - Route roles\n * @param {Roles} userRoles - User roles\n * @returns {boolean} Either true or false\n */\nexport const checkRoles = (routeRoles: Roles[] = [], userRoles: Roles[] = []): boolean => {\n return routeRoles.reduce((previous: boolean, current: Roles) => userRoles.includes(current) || previous, false);\n};\n","/* eslint-disable id-length */\nimport { Box } from '@material-ui/core';\nimport { Dispatch } from '@reduxjs/toolkit';\nimport XtmConnectAccordion from 'components/Form/Accordion/XtmConnectAccordion/XtmConnectAccordion';\nimport ButtonContainer from 'components/Form/ButtonContainer/ButtonContainer';\nimport ConnectedUserFields from 'components/Form/ConnectedFields/ConnectedUserFields';\nimport FormDiv from 'components/Form/Div/FormDiv';\nimport CustomCheckbox from 'components/Form/Input/CustomCheckbox';\nimport CustomField from 'components/Form/Input/CustomField';\nimport { CustomInputError } from 'components/Form/Input/CustomInput.styled';\nimport CustomSelect from 'components/Form/Input/CustomSelect';\nimport FormTitle from 'components/Form/Title/FormTitle';\nimport { Roles } from 'enums/roles';\nimport { UserRouteParameterEnum } from 'enums/userRouteParameter';\nimport { FormApi } from 'final-form';\nimport arrayMutators from 'final-form-arrays';\nimport React, { Component } from 'react';\nimport { Field, Form } from 'react-final-form';\nimport { withTranslation, WithTranslation } from 'react-i18next';\nimport { connect } from 'react-redux';\nimport { RouteComponentProps } from 'react-router-dom';\nimport { AppDispatch, AppState } from 'store';\nimport { getAllClients } from 'store/client/client.actions';\nimport { getAllClientsSelector } from 'store/client/client.selectors';\nimport { GetProjectsByClientId } from 'store/project/project.actions';\nimport { getFetchSpinnerSelector } from 'store/spinner/spinner.selectors';\nimport {\n clearUser,\n clearUserErrors,\n createUser,\n editUser,\n getDefaultUserLanguages,\n getUserById,\n xtmGetTemplates,\n} from 'store/user/user.actions';\nimport { IEditUser, IUserState, XTMGetTemplatesDTO } from 'store/user/user.interface';\nimport {\n getDefaultUserLanguagesSelector,\n getUserDataSelector,\n getUserErrorsSelector,\n getUserSelector,\n getXtmAuthorizationIdSelector,\n getXtmCustomersSelector,\n getXtmTemplatesSelector,\n} from 'store/user/user.selectors';\nimport { IAutocompleteField } from 'types/shared';\nimport { checkRoles } from 'utils/checkRoles';\nimport {\n composeValidators,\n email,\n fetchValidator,\n optionalValidator,\n password,\n required,\n} from 'utils/customValidators';\nimport {\n AuthenticationResult,\n ClientDTO,\n UserDTO,\n XTMCustomerInfoDTO,\n XTMLanguageDTO,\n} from 'utils/restApplicationClient';\nimport { CreateUserDTO, UpdateUserDTO } from 'utils/restApplicationClientTypeOverrides';\n\ninterface IStateProps {\n errors: { [key: string]: string | undefined };\n clients: ClientDTO[];\n user?: UserDTO;\n authorizationId?: string;\n currentUser?: AuthenticationResult;\n defaultLanguages?: XTMLanguageDTO[];\n spinner: boolean;\n customers?: Array;\n templates: IUserState['templates'];\n}\n\ninterface IDispatchProps {\n getAllClients: () => AppDispatch;\n createUser: (payload: CreateUserDTO) => AppDispatch;\n getUserById: (payload: string) => AppDispatch;\n editUser: (payload: IEditUser) => AppDispatch;\n clearUserErrors: () => AppDispatch;\n clearUser: () => AppDispatch;\n getDefaultUserLanguages: () => AppDispatch;\n getProjectsByClientId: (payload: { clientUUID: string }) => AppDispatch;\n getTemplates: (payload: XTMGetTemplatesDTO) => AppDispatch;\n}\n\ninterface IState {\n submitValues?: UpdateUserDTO | CreateUserDTO | IForm;\n initialCustomers?: Array;\n initialTemplates?: Array>;\n}\n\ninterface IProps {\n native?: boolean;\n}\n\ninterface IMatchParams {\n id?: string;\n type?: UserRouteParameterEnum;\n}\n\n// TODO update once EP is ready\nexport interface IForm extends Omit {\n xtmCustomers: Array;\n xtmTemplates: Array>;\n assignedProjectIds: Array;\n}\n\ntype PropType = WithTranslation & RouteComponentProps & IProps & IStateProps & IDispatchProps;\nexport class AddUserContainer extends Component {\n constructor(props: PropType) {\n super(props);\n\n this.state = {\n initialCustomers: undefined,\n initialTemplates: undefined,\n submitValues: undefined,\n };\n }\n\n componentDidMount(): void {\n const {\n getAllClients,\n getUserById,\n defaultLanguages,\n getDefaultUserLanguages,\n match: {\n params: { id: userId },\n },\n } = this.props;\n clearUserErrors();\n clearUser();\n getAllClients();\n\n if (!defaultLanguages) {\n getDefaultUserLanguages();\n }\n\n if (userId) {\n getUserById(userId);\n }\n }\n\n componentDidUpdate(previousProps: PropType): void {\n const { user, authorizationId, getTemplates, customers, templates } = this.props;\n\n if (user && authorizationId && previousProps.authorizationId !== authorizationId) {\n const customerIds = user.xtmProperties.xtmCustomers.map(({ xtmCustomerId }) => xtmCustomerId);\n getTemplates({ xtmAuthId: authorizationId, xtmCustomerIds: customerIds });\n }\n\n if (user !== previousProps.user || customers !== previousProps.customers || templates !== previousProps.templates) {\n this.mapCustomers();\n }\n }\n\n componentWillUnmount(): void {\n const { clearUser, clearUserErrors } = this.props;\n\n clearUserErrors();\n clearUser();\n }\n\n parseClientSelect(rows: ClientDTO[]): Array<{ value: string; name: string }> {\n return rows.map((client) => ({\n value: client.id,\n name: client.clientName,\n }));\n }\n\n onClientChange =\n (form: FormApi) =>\n ({\n target: { value },\n }: React.ChangeEvent<{\n name?: string | undefined;\n value: unknown;\n }>): void => {\n const { authorizationId, user, getProjectsByClientId } = this.props;\n const shouldConnectedFieldsRender = user && user.xtmProperties && user.xtmProperties.xtmCustomers?.length > 0;\n\n if ((authorizationId || shouldConnectedFieldsRender) && value) {\n form.change('assignedProjectIds', undefined);\n getProjectsByClientId({ clientUUID: value as string });\n }\n };\n\n onSubmit = (values: IForm): void => {\n const {\n match: {\n params: { id: userId, type },\n },\n } = this.props;\n const { assignedProjectIds, xtmCustomers, xtmTemplates, xtmAuthorizationId, ...rest } = values;\n const customers = xtmCustomers.map(({ value: customerId }, customerIndex) => ({\n orderNumber: customerIndex,\n xtmCustomerId: Number(customerId),\n xtmTemplates: xtmTemplates[customerIndex].map(({ value: templateId }, templateIndex) => ({\n orderNumber: templateIndex,\n xtmTemplateId: Number(templateId),\n })),\n }));\n const projectIds = assignedProjectIds?.map(({ value }) => value) || [];\n const editValues = { ...rest, assignedProjectIds: projectIds, xtmCustomers: customers };\n\n this.props.clearUserErrors();\n this.setState({ submitValues: values });\n if (userId && type === UserRouteParameterEnum.edit) {\n this.props.editUser({\n userId,\n updateUser: editValues,\n });\n } else {\n this.props.createUser({\n xtmAuthorizationId,\n ...editValues,\n });\n }\n };\n\n mapCustomers = (): void => {\n const { user, customers, templates } = this.props;\n const initialTemplates: Array> = [];\n\n if (user && customers && templates) {\n const initialCustomers = user.xtmProperties.xtmCustomers\n\n .map((xtmCustomer) => {\n const customer = customers.find((customer) => customer.xtmCustomerId === xtmCustomer.xtmCustomerId);\n const customerTemplates = templates[xtmCustomer.xtmCustomerId];\n\n if (customerTemplates) {\n initialTemplates.push(\n xtmCustomer.xtmTemplates\n .map(({ xtmTemplateId }) => {\n const template = customerTemplates.find(\n (customerTemplate) => customerTemplate.xtmTemplateId === xtmTemplateId\n );\n\n if (template) {\n return {\n label: template.name,\n value: template.xtmTemplateId.toString(),\n };\n }\n return undefined;\n })\n .filter((value) => value) as Array\n );\n }\n\n if (customer) {\n return {\n label: customer.name,\n value: customer.xtmCustomerId.toString(),\n };\n }\n\n return undefined;\n })\n .filter((value) => value) as Array;\n\n this.setState({\n initialCustomers,\n initialTemplates,\n });\n\n return;\n }\n\n this.setState({\n initialCustomers: undefined,\n initialTemplates: undefined,\n });\n };\n\n render(): JSX.Element {\n const {\n match: {\n params: { id: userId, type },\n },\n native,\n errors,\n user,\n authorizationId,\n currentUser,\n spinner,\n t,\n } = this.props;\n const { initialCustomers, initialTemplates } = this.state;\n\n const shouldConnectedFieldsRender =\n authorizationId && user && user.xtmProperties && user.xtmProperties.xtmCustomers?.length;\n const isClientAdmin = checkRoles([Roles.ADMIN_CLIENT], currentUser?.roles as Roles[]);\n\n return (\n \n \n (\n
\n \n \n optionalValidator(value, password)\n : password\n }\n label=\"common.password\"\n textFieldProps={{ type: 'password' }}\n disableAutocomplete\n />\n \n \n \n {({ input, meta }): JSX.Element => (\n \n )}\n \n {stateErrors && submitFailed && {t(stateErrors.error)}}\n\n \n {({ input, meta }): JSX.Element => (\n \n )}\n \n \n \n {(inputProps): JSX.Element => }\n \n {(authorizationId || shouldConnectedFieldsRender) && (\n \n )}\n \n \n
\n )}\n />\n
\n );\n }\n}\n\nconst mapDispatchToProps = (dispatch: Dispatch): IDispatchProps => ({\n getAllClients: (): AppDispatch => dispatch(getAllClients()),\n createUser: (payload: CreateUserDTO): AppDispatch => dispatch(createUser(payload)),\n editUser: (payload: IEditUser): AppDispatch => dispatch(editUser(payload)),\n getUserById: (payload: string): AppDispatch => dispatch(getUserById(payload)),\n clearUserErrors: (): AppDispatch => dispatch(clearUserErrors()),\n clearUser: (): AppDispatch => dispatch(clearUser()),\n getDefaultUserLanguages: (): AppDispatch => dispatch(getDefaultUserLanguages()),\n getProjectsByClientId: (payload: { clientUUID: string }): AppDispatch => dispatch(GetProjectsByClientId(payload)),\n getTemplates: (payload: XTMGetTemplatesDTO): AppDispatch => dispatch(xtmGetTemplates(payload)),\n});\n\nconst mapStateToProps = (state: AppState): IStateProps => ({\n clients: getAllClientsSelector(state),\n errors: getUserErrorsSelector(state),\n user: getUserSelector(state),\n authorizationId: getXtmAuthorizationIdSelector(state),\n currentUser: getUserDataSelector(state),\n defaultLanguages: getDefaultUserLanguagesSelector(state),\n spinner: getFetchSpinnerSelector(state),\n customers: getXtmCustomersSelector(state),\n templates: getXtmTemplatesSelector(state),\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(withTranslation()(AddUserContainer));\n","export const TableActionTypes = {\n setPaginationOptions: 'TABLE_SET_PAGINATION_OPTIONS',\n setPaginationOptionsNoEmit: 'TABLE_SET_PAGINATION_OPTIONS_NO_EMIT',\n clearPaginationOptions: 'TABLE_CLEAR_PAGINATION_OPTIONS',\n setPaginationSearch: 'TABLE_SET_PAGINATION_SEARCH',\n setPaginationAction: 'TABLE_SET_PAGINATION_ACTION',\n setPaginationSearchSpinner: 'TABLE_SET_SEARCH_SPINNER',\n};\n","import { ActionCreatorWithPayload, createAction } from '@reduxjs/toolkit';\nimport { IPaginationOptions } from 'types/api';\nimport { TableActionTypes } from './table.actions.types';\nimport { ITablePaginationOptions } from './table.interface';\n\nexport const setPaginationOptions = createAction(TableActionTypes.setPaginationOptions);\n\nexport const setPaginationOptionsNoEmit = createAction(\n TableActionTypes.setPaginationOptionsNoEmit,\n);\n\nexport const clearPaginationOptions = createAction(TableActionTypes.clearPaginationOptions);\n\nexport const setPaginationSearch = createAction(TableActionTypes.setPaginationSearch);\n\nexport const setPaginationAction = createAction | undefined>(\n TableActionTypes.setPaginationAction,\n);\n\nexport const setPaginationSearchSpinner = createAction(TableActionTypes.setPaginationSearchSpinner);\n","import { createSelector } from '@reduxjs/toolkit';\nimport { AppState } from 'store';\nimport { ITablePaginationOptions } from './table.interface';\n\nconst paginationOptionsSelector = (state: AppState): ITablePaginationOptions => state.table.paginationOptions;\n\nconst searchSpinnerSelector = (state: AppState): boolean => state.table.searchSpinner;\n\nexport const getPaginationOptionsSelector = createSelector(\n paginationOptionsSelector,\n (paginationOptions) => paginationOptions,\n);\n\nexport const getPaginationSearchSpinnerSelector = createSelector(\n searchSpinnerSelector,\n (searchSpinner) => searchSpinner,\n);\n","import moment from 'moment';\nimport { IDateFields } from 'types/api';\n\ninterface IResponsePayload {\n content: Content[];\n}\n\n/**\n * Returns object with parsed date fields\n *\n * @param content - Database entity object with createdAt and modifiedAt fields\n *\n * @returns - Database entity object with parsed date fields\n */\nexport function parseDate(content: Content): Content {\n const { createdAt, modifiedAt } = content;\n const createdAtParsed = moment(createdAt).format('LLL');\n const modifiedAtParsed = moment(modifiedAt).format('LLL');\n return {\n ...content,\n createdAt: createdAtParsed,\n modifiedAt: modifiedAtParsed,\n };\n}\n\n/**\n * Returns an array of objects with parsed date fields\n *\n * @param payload - Database entity object with \"content\" field containing an array of objects with createdAt and modifiedAt fields\n *\n * @returns - Database entity object array with parsed date fields\n */\nexport function parseDateBulk>(\n payload: Payload,\n): Payload {\n const { content } = payload;\n const contentParsed = content.map((element) => parseDate(element));\n return { ...payload, content: contentParsed };\n}\n","import { css } from '@emotion/core';\n\nexport const customTableStyle = {\n root: css`\n margin: 12px;\n overflow-x: unset !important;\n .sortLabel {\n svg {\n color: #10a4e4 !important;\n }\n }\n `,\n button: css`\n padding: 4px !important;\n `,\n container: css`\n max-height: 500px;\n `,\n iconContainer: css`\n display: flex;\n .MuiSvgIcon-root:hover {\n color: #10a4e4;\n }\n `,\n spinnerCell: css`\n display: flex !important;\n justify-content: center;\n width: 100%;\n `,\n spinner: css`\n margin: 24px;\n `,\n};\n","import styled from '@emotion/styled';\nimport { Select, TableRow } from '@material-ui/core';\n\nexport const CustomPaginationContainer = styled.td`\n padding: 6px 0;\n`;\n\nexport const CustomTableRow = styled(TableRow)`\n thead > & td {\n border-bottom: 1px solid rgba(224, 224, 224, 1);\n }\n`;\n\nexport const CustomPaginationActionsContainer = styled.div`\n display: flex;\n padding: 0 8px;\n align-items: center;\n\n .MuiPaginationItem-textSecondary.Mui-selected {\n background-color: #eff3f6;\n color: #10a4e4;\n\n &:hover {\n background-color: rgba(0, 0, 0, 0.04);\n }\n }\n`;\n\nexport const CustomPaginationSelect = styled(Select)`\n .MuiSelect-root {\n padding: 0px 24px 0px 8px !important;\n }\n .MuiSelect-icon {\n right: 0 !important;\n }\n height: 23px !important;\n border-radius: 0 !important;\n margin: 0 8px;\n`;\n","import React, { Component } from 'react';\nimport { Trans } from 'react-i18next';\n\ninterface IProps {\n from: number;\n to: number;\n count: number;\n}\n\nclass PaginationTransLabel extends Component {\n render(): JSX.Element {\n const { from, to, count } = this.props;\n return (\n \n {count < 0 ? (\n \n ) : (\n \n )}\n \n );\n }\n}\n\nexport default PaginationTransLabel;\n","import { Box, MenuItem } from '@material-ui/core';\nimport { Pagination } from '@material-ui/lab';\nimport React, { PureComponent } from 'react';\nimport { withTranslation, WithTranslation } from 'react-i18next';\nimport {\n CustomPaginationActionsContainer,\n CustomPaginationContainer,\n CustomPaginationSelect,\n CustomTableRow,\n} from './Pagination.styled';\nimport PaginationTransLabel from './PaginationTransLabel';\n\nexport interface IPaginationProps {\n onChangePage: (event: React.ChangeEvent, page: number) => void;\n onChangeRowsPerPage: (\n event: React.ChangeEvent<{\n name?: string | undefined;\n value: unknown;\n }>,\n ) => void;\n page: number;\n rowsPerPage: number;\n columns: number;\n count: number;\n nativeSelect?: boolean;\n}\n\nclass CustomPagination extends PureComponent {\n getPaginationLabelDisplayedRows({ to, from, count }: { to: number; from: number; count: number }): JSX.Element {\n return ;\n }\n\n render(): JSX.Element {\n const { count, t, onChangePage, onChangeRowsPerPage, page, rowsPerPage, columns } = this.props;\n const pages = Math.ceil(count / rowsPerPage);\n return (\n \n \n \n \n \n {t('common.show')}\n \n \n {[5, 10, 25, 50].map((rowOption, index) => (\n \n {rowOption}\n \n ))}\n \n \n {t('common.items')}\n \n \n \n \n \n \n \n \n );\n }\n}\n\nexport default withTranslation()(CustomPagination);\n","import { css } from '@emotion/core';\n\nexport const tableEmptyStyles = {\n root: css`\n display: flex;\n align-items: center;\n flex-direction: column;\n background: #fff !important;\n padding: 20px;\n width: 100%;\n `,\n icon: css`\n font-size: 80px !important;\n `,\n text: css`\n color: grey;\n letter-spacing: 0.075em !important;\n `,\n};\n","/** @jsx jsx */\nimport { jsx } from '@emotion/core';\nimport { Typography } from '@material-ui/core';\nimport SpeakerNotesOffIcon from '@material-ui/icons/SpeakerNotesOff';\nimport { PureComponent } from 'react';\nimport { withTranslation, WithTranslation } from 'react-i18next';\nimport { tableEmptyStyles } from './TableEmpty.style';\n\nclass TableEmpty extends PureComponent {\n render(): JSX.Element {\n const { t } = this.props;\n return (\n
\n \n {t('table.tableEmpty')}\n
\n );\n }\n}\n\nexport default withTranslation()(TableEmpty);\n","/** @jsx jsx */\nimport { jsx } from '@emotion/core';\nimport {\n CircularProgress,\n IconButton,\n Paper,\n Table,\n TableBody,\n TableCell,\n TableContainer,\n TableFooter,\n TableHead,\n TableRow,\n TableSortLabel,\n Tooltip,\n} from '@material-ui/core';\nimport EditIcon from '@material-ui/icons/Edit';\nimport PersonAddIcon from '@material-ui/icons/PersonAdd';\nimport { ActionCreatorWithPayload, Dispatch } from '@reduxjs/toolkit';\nimport { OrderDirection } from 'enums/filter';\nimport moment from 'moment';\nimport { ClassAttributes, Component, ComponentType, Fragment } from 'react';\nimport { withTranslation, WithTranslation, WithTranslationProps } from 'react-i18next';\nimport { connect, ConnectedComponent } from 'react-redux';\nimport { AppDispatch, AppState } from 'store';\nimport { getFetchSpinnerSelector } from 'store/spinner/spinner.selectors';\nimport { clearPaginationOptions, setPaginationAction, setPaginationOptions } from 'store/table/table.actions';\nimport { ITablePaginationOptions } from 'store/table/table.interface';\nimport { getPaginationOptionsSelector } from 'store/table/table.selectors';\nimport { IDateFields, IPaginationOptions } from 'types/api';\nimport { parseDateBulk } from 'utils/parseDate';\nimport { Page } from 'utils/restApplicationClient';\nimport { customTableStyle } from './CustomTable.style';\nimport Pagination, { IPaginationProps } from './Pagination';\nimport TableEmpty from './TableEmpty/TableEmpty';\n\ninterface IProps {\n headers: { id: string; label: string }[];\n onEdit: (row: T) => void;\n onDuplicate?: (row: T) => void;\n paginationAction: ActionCreatorWithPayload;\n pageable?: Page;\n search: string;\n nativeSelect?: boolean;\n fetchSpinnerOverride?: boolean;\n displayActionsLabel?: boolean;\n}\n\ninterface IState {\n page: number;\n rowsPerPage: number;\n orderBy: string;\n order: OrderDirection;\n}\n\ninterface IStateProps {\n paginationOptions: ITablePaginationOptions;\n fetchSpinner: boolean;\n}\n\ninterface IDispatchProps {\n setPaginationOptions: (payload: ITablePaginationOptions) => AppDispatch;\n setPaginationAction: (payload: ActionCreatorWithPayload | undefined) => AppDispatch;\n clearPaginationOptions: () => AppDispatch;\n}\n\ninterface IExtend extends IDateFields {\n id: string;\n}\n\nexport class CustomTable extends Component<\n IProps & WithTranslation & IStateProps & IDispatchProps,\n IState\n> {\n componentDidMount(): void {\n this.props.setPaginationAction(this.props.paginationAction);\n }\n\n componentWillUnmount(): void {\n this.props.setPaginationAction(undefined);\n this.props.clearPaginationOptions();\n }\n\n onChangePage = (event: React.ChangeEvent, page: number): void => {\n this.props.setPaginationOptions({ page: page - 1 });\n };\n onChangeRowsPerPage = ({\n target: { value },\n }: React.ChangeEvent<{\n name?: string | undefined;\n value: unknown;\n }>): void => {\n this.props.setPaginationOptions({ size: Number(value) });\n };\n onChangeOrder = (property: string): (() => void) => {\n return (): void => {\n const { orderBy, order } = this.props.paginationOptions;\n const isAsc = orderBy === property && order === OrderDirection.ASC;\n this.props.setPaginationOptions({\n order: isAsc ? OrderDirection.DESC : OrderDirection.ASC,\n orderBy: property,\n });\n };\n };\n paginationProps = (): IPaginationProps => {\n const {\n pageable,\n paginationOptions: { page, size },\n } = this.props;\n return {\n onChangePage: this.onChangePage,\n onChangeRowsPerPage: this.onChangeRowsPerPage,\n page: page as number,\n rowsPerPage: size as number,\n count: pageable ? pageable.totalElements : 0,\n nativeSelect: this.props.nativeSelect,\n columns: this.props.headers.length,\n };\n };\n\n parseColumn = (row: T, key: keyof T): string => {\n if (key === 'name') {\n return String(row['kenticoProjectName' as keyof T]);\n }\n\n if (key === 'client.clientName') {\n return String(row['clientName' as keyof T]);\n }\n\n if (key === 'createdAt' || key === 'modifiedAt') {\n return moment(row[key]).format('DD.MM.YYYY HH:MM');\n }\n\n if (key !== 'status') {\n return String(row[key]);\n }\n\n const { t } = this.props;\n\n if (row[key]) {\n return t('common.active');\n }\n return t('common.inactive');\n };\n\n renderEmpty = (): JSX.Element => {\n const { fetchSpinner, fetchSpinnerOverride } = this.props;\n if (fetchSpinner && !fetchSpinnerOverride) {\n return ;\n }\n return ;\n };\n\n render(): JSX.Element {\n const {\n headers,\n pageable,\n onEdit,\n t,\n fetchSpinner,\n fetchSpinnerOverride,\n onDuplicate,\n displayActionsLabel,\n } = this.props;\n const { orderBy, order } = this.props.paginationOptions;\n return (\n \n \n \n \n {Boolean(pageable && pageable.content && pageable.content.length && !fetchSpinner) && (\n \n {headers.map((headCell, index) => (\n \n \n {t(headCell.label)}\n \n \n ))}\n {displayActionsLabel ? t('common.actions') : ''}\n \n )}\n \n \n {(pageable && pageable.content && !pageable.content.length) ||\n !pageable ||\n (fetchSpinner && !fetchSpinnerOverride) ? (\n \n \n {this.renderEmpty()}\n \n \n ) : (\n pageable &&\n pageable.content &&\n pageable.content.length &&\n parseDateBulk>(pageable).content.map((row, index) => (\n \n {headers.map((header) => (\n {this.parseColumn(row, header.id as keyof T)}\n ))}\n \n
\n \n onEdit(row)} css={customTableStyle.button}>\n \n \n \n {onDuplicate ? (\n {t('users.duplicate')} }>\n onDuplicate(row)}>\n \n \n \n ) : null}\n
\n
\n
\n ))\n )}\n
\n \n \n \n
\n
\n );\n }\n}\n\nconst mapStateToProps = (state: AppState): IStateProps => ({\n paginationOptions: getPaginationOptionsSelector(state),\n fetchSpinner: getFetchSpinnerSelector(state),\n});\nconst mapDispatchToProps = (dispatch: Dispatch): IDispatchProps => ({\n setPaginationOptions: (payload: ITablePaginationOptions): AppDispatch => dispatch(setPaginationOptions(payload)),\n setPaginationAction: (payload: ActionCreatorWithPayload | undefined): AppDispatch =>\n dispatch(setPaginationAction(payload)),\n clearPaginationOptions: (): AppDispatch => dispatch(clearPaginationOptions()),\n});\nexport default function CustomTableContainer(): ConnectedComponent<\n ComponentType<\n Pick<\n IProps & WithTranslation & IStateProps & IDispatchProps,\n | 'paginationOptions'\n | 'pageable'\n | 'headers'\n | 'onEdit'\n | 'paginationAction'\n | 'search'\n | 'setPaginationOptions'\n | 'setPaginationAction'\n | 'clearPaginationOptions'\n | 'onDuplicate'\n | 'fetchSpinner'\n | 'fetchSpinnerOverride'\n | 'displayActionsLabel'\n > &\n WithTranslationProps\n >,\n Pick<\n ClassAttributes> & IProps,\n | 'pageable'\n | 'ref'\n | 'key'\n | 'headers'\n | 'onEdit'\n | 'paginationAction'\n | 'search'\n | 'onDuplicate'\n | 'fetchSpinnerOverride'\n | 'displayActionsLabel'\n >\n> {\n return connect(\n mapStateToProps,\n mapDispatchToProps,\n )(withTranslation()(CustomTable as new (props: IProps & WithTranslation) => CustomTable));\n}\n","import { css } from '@emotion/core';\n\nexport const iconButtonLabelStyle = {\n button: css`\n text-transform: none !important;\n padding: 0px !important;\n color: #555555 !important;\n font-weight: 500 !important;\n `,\n};\n","/** @jsx jsx */\nimport { jsx } from '@emotion/core';\nimport styled from '@emotion/styled';\nimport { Button } from '@material-ui/core';\nimport AddCircleIcon from '@material-ui/icons/AddCircle';\nimport { Component } from 'react';\nimport { withTranslation, WithTranslation } from 'react-i18next';\nimport { iconButtonLabelStyle } from './IconButtonLabel.style';\n\ninterface IProps {\n buttonLabelKey: string;\n onAdd: () => void;\n}\n\nconst Text = styled.span`\n letter-spacing: 0.075em;\n margin: 8px;\n font-size: 16px;\n`;\n\nclass IconButtonLabel extends Component {\n render(): JSX.Element {\n const { t, buttonLabelKey, onAdd } = this.props;\n return (\n
\n \n
\n );\n }\n}\n\nexport default withTranslation()(IconButtonLabel);\n","import { css } from '@emotion/core';\n\nexport const tableToolbarStyles = {\n root: css`\n display: flex;\n flex-direction: row;\n align-items: center;\n padding: 0px 16px;\n margin-top: 8px;\n justify-content: space-between;\n `,\n input: css`\n background: #fff;\n width: 260px;\n `,\n};\n","/** @jsx jsx */\nimport { jsx } from '@emotion/core';\nimport { Box, CircularProgress, TextField } from '@material-ui/core';\nimport SearchIcon from '@material-ui/icons/Search';\nimport IconButtonLabel from 'components/IconButtonLabel/IconButtonLabel';\nimport { ChangeEvent, Component, Dispatch } from 'react';\nimport { connect } from 'react-redux';\nimport { AppDispatch, AppState } from 'store';\nimport { setPaginationSearch, setPaginationSearchSpinner } from 'store/table/table.actions';\nimport { getPaginationSearchSpinnerSelector } from 'store/table/table.selectors';\nimport { tableToolbarStyles } from './TableToolbar.style';\n\ninterface IProps {\n buttonLabelKey: string;\n onAdd: () => void;\n}\n\ninterface IStateProps {\n searchSpinner: boolean;\n}\n\ninterface IDispatchProps {\n setSearch: (payload: string) => void;\n setPaginationSearchSpinner: (payload: boolean) => void;\n}\nexport class TableToolbar extends Component {\n state = {\n searchValue: '',\n };\n\n debounceFn: Function | undefined;\n\n throttleFn: (() => void) | undefined;\n throttle(callbackFunc: Function, limit: number): () => void {\n let wait = false;\n return (): void => {\n if (!wait) {\n callbackFunc();\n wait = true;\n setTimeout(function () {\n wait = false;\n }, limit);\n }\n };\n }\n\n debounce(callbackFunc: Function, limit: number): () => void {\n let timeout: NodeJS.Timeout | null;\n return (): void => {\n const later = (): void => {\n timeout = null;\n callbackFunc();\n };\n if (timeout) {\n clearTimeout(timeout);\n }\n timeout = setTimeout(later, limit);\n };\n }\n\n onInputChange = (event: ChangeEvent): void => {\n event.persist();\n if (!this.throttleFn) {\n this.throttleFn = this.throttle(() => {\n this.props.setPaginationSearchSpinner(true);\n }, 500);\n this.throttleFn();\n } else {\n this.throttleFn();\n }\n\n if (!this.debounceFn) {\n this.debounceFn = this.debounce(() => {\n return this.props.setSearch(event.target.value);\n }, 500);\n this.debounceFn();\n } else {\n this.debounceFn();\n }\n };\n\n render(): JSX.Element {\n const { buttonLabelKey, onAdd } = this.props;\n return (\n
\n
\n \n \n {this.props.searchSpinner ? : }\n \n ),\n }}\n onChange={this.onInputChange}\n />\n
\n
\n );\n }\n}\n\nconst mapStateToProps = (state: AppState): IStateProps => ({\n searchSpinner: getPaginationSearchSpinnerSelector(state),\n});\n\nconst mapDispatchToProps = (dispatch: Dispatch): IDispatchProps => ({\n setSearch: (payload: string): void => dispatch(setPaginationSearch(payload)),\n setPaginationSearchSpinner: (payload: boolean): void => dispatch(setPaginationSearchSpinner(payload)),\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(TableToolbar);\n","import CustomTableContainer from 'components/Table/CustomTable';\nimport TableToolbar from 'components/TableToolbar/TableToolbar';\nimport { OrderDirection } from 'enums/filter';\nimport React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport { RouteComponentProps, withRouter } from 'react-router-dom';\nimport { Dispatch } from 'redux';\nimport { AppDispatch, AppState } from 'store';\nimport { getAdministratorsPageable } from 'store/administrator/administrator.actions';\nimport { getAdministratorsPageableSelector } from 'store/administrator/administrator.selectors';\nimport { setPaginationOptions } from 'store/table/table.actions';\nimport { ITablePaginationOptions } from 'store/table/table.interface';\nimport { AdministratorDTO, Page } from 'utils/restApplicationClient';\n\ninterface IStateProps {\n administratorsPageable?: Page;\n fetchSpinnerOverride?: boolean;\n}\n\ninterface IDispatchProps {\n setPaginationOptions: (payload: ITablePaginationOptions) => AppDispatch;\n}\n\nconst TestTable = CustomTableContainer();\n\ntype IProps = IStateProps & RouteComponentProps & IDispatchProps;\n\nexport class AdministratorsContainer extends Component {\n headers = [\n { label: 'common.id', id: 'id' },\n { label: 'common.administratorEmail', id: 'email' },\n { label: 'common.client', id: 'client.clientName' },\n { label: 'common.status', id: 'status' },\n { label: 'common.creationDate', id: 'createdAt' },\n { label: 'common.modificationDate', id: 'modifiedAt' },\n ];\n onEdit = (row: AdministratorDTO): void => {\n this.props.history.push(`/administrator/edit/${row.id}`);\n };\n\n onAdd = (): void => {\n this.props.history.push(`/administrator/add`);\n };\n\n componentDidMount(): void {\n this.props.setPaginationOptions({\n order: OrderDirection.ASC,\n orderBy: 'email',\n });\n }\n\n render(): JSX.Element {\n const { administratorsPageable, fetchSpinnerOverride } = this.props;\n return (\n
\n \n \n
\n );\n }\n}\n\nconst mapStateToProps = (state: AppState): IStateProps => ({\n administratorsPageable: getAdministratorsPageableSelector(state),\n});\n\nconst mapDispatchToProps = (dispatch: Dispatch): IDispatchProps => ({\n setPaginationOptions: (payload: ITablePaginationOptions): AppDispatch =>\n dispatch(setPaginationOptions(payload)),\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(withRouter(AdministratorsContainer));\n","import CustomTableContainer from 'components/Table/CustomTable';\nimport TableToolbar from 'components/TableToolbar/TableToolbar';\nimport { OrderDirection } from 'enums/filter';\nimport React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport { RouteComponentProps, withRouter } from 'react-router';\nimport { Dispatch } from 'redux';\nimport { AppDispatch, AppState } from 'store';\nimport { getClientsPageable } from 'store/client/client.actions';\nimport { getClientsPageableSelector } from 'store/client/client.selectors';\nimport { setPaginationOptions } from 'store/table/table.actions';\nimport { ITablePaginationOptions } from 'store/table/table.interface';\nimport { ClientDTO, Page } from 'utils/restApplicationClient';\n\ninterface IStateProps {\n clientsPageable?: Page;\n fetchSpinnerOverride?: boolean;\n}\n\ninterface IDispatchProps {\n setPaginationOptions: (payload: ITablePaginationOptions) => AppDispatch;\n}\n\nconst TestTable = CustomTableContainer();\n\ntype IProps = IStateProps & RouteComponentProps & IDispatchProps;\n\nexport class ClientsContainer extends Component {\n headers = [\n { label: 'common.id', id: 'id' },\n { label: 'common.clientName', id: 'clientName' },\n { label: 'common.status', id: 'status' },\n { label: 'common.creationDate', id: 'createdAt' },\n { label: 'common.modificationDate', id: 'modifiedAt' },\n ];\n onEdit = (row: ClientDTO): void => {\n this.props.history.push(`client/edit/${row.id}`);\n };\n\n onAdd = (): void => {\n this.props.history.push('client/add');\n };\n\n componentDidMount(): void {\n this.props.setPaginationOptions({\n order: OrderDirection.ASC,\n orderBy: 'clientName',\n });\n }\n\n render(): JSX.Element {\n const { clientsPageable, fetchSpinnerOverride } = this.props;\n return (\n
\n \n \n
\n );\n }\n}\n\nconst mapStateToProps = (state: AppState): IStateProps => ({\n clientsPageable: getClientsPageableSelector(state),\n});\n\nconst mapDispatchToProps = (dispatch: Dispatch): IDispatchProps => ({\n setPaginationOptions: (payload: ITablePaginationOptions): AppDispatch =>\n dispatch(setPaginationOptions(payload)),\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(withRouter(ClientsContainer));\n","import React from 'react';\n\nexport default function Kentico(): JSX.Element {\n return (\n \n \n \n \n \n );\n}\n","/** @jsx jsx */\nimport { jsx } from '@emotion/core';\nimport { Accordion, AccordionDetails, AccordionSummary, Box, CircularProgress, Typography } from '@material-ui/core';\nimport ExpandMoreIcon from '@material-ui/icons/ExpandMore';\nimport { PayloadAction } from '@reduxjs/toolkit';\nimport { customInputStyles } from 'components/Form/Input/CustomInput.styled';\nimport { createForm, FormApi, Unsubscribe } from 'final-form';\nimport Kentico from 'icons/Kentico';\nimport { Component, Fragment } from 'react';\nimport { Field, FieldRenderProps, Form } from 'react-final-form';\nimport { WithTranslation, withTranslation } from 'react-i18next';\nimport { connect } from 'react-redux';\nimport { Dispatch } from 'redux';\nimport { subscribeActionAfter } from 'redux-subscribe-action';\nimport { AppDispatch, AppState } from 'store';\nimport { clearProjectFormAll, clearProjectErrors, connectToKentico, getApiKey } from 'store/project/project.actions';\nimport { ProjectActionTypes } from 'store/project/project.actions.types';\nimport { IConntectedProject, IProjectForm } from 'store/project/project.interface';\nimport { getProjectErrorsSelector, getProjectFormSelector } from 'store/project/project.selectors';\nimport { getKenticoConnectSpinnerSelector } from 'store/spinner/spinner.selectors';\nimport { composeValidators, fetchValidator, required } from 'utils/customValidators';\nimport { ApiKeysDTO } from 'utils/restApplicationClient';\nimport CustomField from '../../Input/CustomField';\nimport { AccordionButton, AccordionDiv, accordionStyles } from '../Accordion.style';\nimport AccordionIcon from '../AccordionIcon';\n\ninterface IDispatchProps {\n connectToKentico: (payload: IConntectedProject) => AppDispatch;\n clearProjectErrors: () => AppDispatch;\n clearProjectFormAll: () => AppDispatch;\n getApiKey: (payload: string) => AppDispatch;\n}\n\ninterface IState {\n formValues: IConntectedProject;\n isConnected: boolean;\n}\n\ninterface IStateProps {\n kenticoSpinner: boolean;\n errors: { [key: string]: string | undefined };\n clientForm: IProjectForm;\n}\n\ninterface IProps {\n kontentProjectId: string;\n onConnect: (kontentProjectId: string | undefined) => void;\n isProjectIdEditable: boolean;\n}\n\ntype PropType = FieldRenderProps & WithTranslation & IProps & IDispatchProps & IStateProps;\n\nexport class ProjectConnectAccordion extends Component {\n unsubscribe: (() => void)[] = [];\n unsubscribeForm: Unsubscribe;\n\n constructor(props: PropType) {\n super(props);\n this.state = {\n formValues: {\n kontentProjectId: '',\n managementApiKey: '',\n deliveryApiKey: '',\n },\n isConnected: false,\n };\n this.form = createForm({\n onSubmit: this.onSubmit,\n });\n this.unsubscribeForm = this.form.subscribe(\n () => {\n const { errors } = this.props;\n\n if (errors['kenticoConnect']) {\n this.props.clearProjectErrors();\n }\n },\n { values: true },\n );\n }\n\n componentDidMount(): void {\n const { connectToKentico } = this.props;\n const connectSubscription = subscribeActionAfter(ProjectActionTypes.ConnectToKenticoSuccess, () => {\n const kontentProjectId = this.form.getFieldState('kontentProjectId')?.value || '';\n\n this.setConnection(kontentProjectId);\n });\n const connectErrorSubscription = subscribeActionAfter(ProjectActionTypes.ConnectToKenticoError, () => {\n this.setConnection();\n });\n const apiKeySubscription = subscribeActionAfter(ProjectActionTypes.GetApiKeySuccess, (action) => {\n const { kontentProjectId } = this.props;\n const { managementApiKey, deliveryApiKey } = (action as PayloadAction).payload;\n const connectedData: IConntectedProject = { kontentProjectId, managementApiKey, deliveryApiKey };\n\n this.setState({ formValues: connectedData });\n connectToKentico(connectedData);\n });\n\n this.unsubscribe.push(connectSubscription, connectErrorSubscription, apiKeySubscription);\n }\n\n componentDidUpdate(previousProps: PropType): void {\n const { kontentProjectId, getApiKey, errors } = this.props;\n\n if (!!kontentProjectId && previousProps.kontentProjectId === undefined) {\n getApiKey(kontentProjectId);\n }\n\n if (errors['kontentProjectId'] && errors['kontentProjectId'] !== previousProps.errors['kontentProjectId']) {\n this.setConnection();\n }\n }\n\n componentWillUnmount(): void {\n this.unsubscribeForm();\n this.unsubscribe.forEach((unsubscribe) => unsubscribe());\n }\n\n setConnection(value?: string): void {\n const {\n input: { onChange },\n onConnect,\n } = this.props;\n\n this.setState({ isConnected: !!value });\n onChange(value);\n onConnect(value);\n }\n\n form: FormApi>>;\n\n onSubmit = (values: IConntectedProject): void => {\n this.setState({ formValues: values });\n this.props.input.onChange(values.kontentProjectId);\n this.props.onConnect(values.kontentProjectId);\n this.props.connectToKentico(values);\n };\n\n render(): JSX.Element {\n const { t, meta, kenticoSpinner, errors, isProjectIdEditable } = this.props;\n const { isConnected, formValues } = this.state;\n\n return (\n \n \n \n {t('projects.connectProject')}\n \n \n \n }>\n \n {isConnected ? t('users.connected') : t('users.disconnected')}\n \n \n {errors['kenticoConnect'] && (\n {t(errors['kenticoConnect'])}\n )}\n }\n render={({ handleSubmit, submitting, pristine }): JSX.Element => (\n \n \n \n \n\n \n {kenticoSpinner ? (\n \n ) : (\n \n \n {t('projects.connectProject')}\n \n )}\n \n \n )}\n />\n \n \n \n );\n }\n}\n\nconst mapDispatchToProps = (dispatch: Dispatch): IDispatchProps => ({\n connectToKentico: (payload: IConntectedProject): AppDispatch => dispatch(connectToKentico(payload)),\n clearProjectErrors: (): AppDispatch => dispatch(clearProjectErrors()),\n getApiKey: (payload: string): AppDispatch => dispatch(getApiKey(payload)),\n clearProjectFormAll: (): AppDispatch => dispatch(clearProjectFormAll()),\n});\n\nconst mapStateToProps = (state: AppState): IStateProps => ({\n kenticoSpinner: getKenticoConnectSpinnerSelector(state),\n errors: getProjectErrorsSelector(state),\n clientForm: getProjectFormSelector(state),\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(withTranslation()(ProjectConnectAccordion));\n","import { Tooltip, TypographyProps } from '@material-ui/core';\nimport React, { Component, Fragment } from 'react';\nimport { WithTranslation, withTranslation } from 'react-i18next';\nimport { CustomTooltipTypography } from './CustomTooltip.styled';\n\ninterface IProps {\n text: string;\n width: number;\n maxLines: number;\n typographyProps?: TypographyProps;\n textColor?: string;\n}\n\ninterface IState {\n isOverflown: boolean;\n}\n\ntype PropType = IProps & WithTranslation;\n\nclass Name extends Component {\n state = {\n isOverflown: false,\n };\n\n componentDidMount(): void {\n this.checkIfOverflown();\n }\n\n componentDidUpdate(): void {\n this.checkIfOverflown();\n }\n\n checkIfOverflown(): void {\n const { element } = this;\n\n if (element) {\n const isOverflown = element.offsetHeight < element.scrollHeight || element.offsetWidth < element.scrollWidth;\n\n if (this.state.isOverflown !== isOverflown) {\n this.setState({ isOverflown });\n }\n }\n }\n\n element: HTMLSpanElement | null = null;\n\n render(): JSX.Element {\n const { isOverflown } = this.state;\n const { text, width, t, typographyProps, maxLines, textColor } = this.props;\n const NameTypographyWidth = CustomTooltipTypography(`${width}px`, maxLines, textColor);\n\n return (\n \n {isOverflown ? (\n {t(text)}}>\n {\n this.element = element;\n }}\n >\n {t(text)}\n \n \n ) : (\n {\n this.element = element;\n }}\n >\n {t(text)}\n \n )}\n \n );\n }\n}\n\nexport default withTranslation()(Name);\n","import styled, { StyledComponent } from '@emotion/styled';\nimport { Typography, TypographyProps, TypographyStyle } from '@material-ui/core';\n\nexport const CustomTooltipTypography = (\n width: string,\n lines: number,\n textColor?: string,\n): StyledComponent => styled(Typography)`\n text-overflow: ellipsis !important;\n overflow: hidden !important;\n max-width: ${width} !important;\n display: -webkit-box;\n -webkit-line-clamp: ${lines};\n -webkit-box-orient: vertical;\n overflow: hidden;\n overflow-wrap: break-word;\n color: ${textColor ? `${textColor} !important` : `inherit !important`};\n`;\n","/** @jsx jsx */\nimport { jsx } from '@emotion/core';\nimport { Box, Chip, CircularProgress, Tooltip, Typography } from '@material-ui/core';\nimport CloseIcon from '@material-ui/icons/Close';\nimport ErrorIcon from '@material-ui/icons/Error';\nimport { Autocomplete, AutocompleteGetTagProps } from '@material-ui/lab';\nimport CustomTooltip from 'components/CustomTooltip/CustomTooltip';\nimport React, { ComponentType, Fragment, ReactNode } from 'react';\nimport { DragDropContext, Draggable, Droppable, OnDragEndResponder } from 'react-beautiful-dnd';\nimport { FieldRenderProps } from 'react-final-form';\nimport { withTranslation, WithTranslation } from 'react-i18next';\nimport { IAutocompleteField } from 'types/shared';\nimport {\n AutocompleteChipDefaultSpan,\n AutocompleteTextField,\n CustomAutocompleteTypography,\n CustomDraggableContainer,\n CustomEndAdornment,\n InputDiv,\n} from './CustomInput.styled';\n\ninterface IProps extends FieldRenderProps> {\n options: Array;\n onChange?: (event: React.ChangeEvent<{}>, value: IAutocompleteField | Array | null) => void;\n multi?: boolean;\n label: string;\n noOptionsText?: string;\n error?: string;\n spinner?: boolean;\n disabled?: boolean;\n column?: boolean;\n allowDragAndDrop?: boolean;\n placeholder?: string;\n}\n\ntype PropType = IProps & WithTranslation;\n\nexport class CustomAutocomplete extends React.Component {\n handleChange = (event: React.ChangeEvent<{}>, value: IAutocompleteField | Array | null): void => {\n const { onChange, input } = this.props;\n\n if (onChange) {\n onChange(event, value);\n }\n input.onChange(value);\n };\n\n onDragEnd: OnDragEndResponder = ({ destination, source }) => {\n const { input } = this.props;\n\n if (!destination) {\n return;\n }\n\n const filteredData = input.value as IAutocompleteField[];\n const [removed] = filteredData.splice(source.index, 1);\n\n filteredData.splice(destination.index, 0, removed);\n input.onChange(filteredData);\n };\n\n renderTags = (\n value: {\n label: string;\n value: string;\n }[],\n getTagProps: AutocompleteGetTagProps,\n ): JSX.Element => {\n return (\n \n {value.map((tag, index) => (\n }\n icon={}\n label={tag.label}\n />\n ))}\n \n );\n };\n\n renderCustomTags = (\n value: {\n label: string;\n value: string;\n }[],\n getTagProps: AutocompleteGetTagProps,\n ): JSX.Element => {\n const { t } = this.props;\n\n return (\n \n \n {(provided): JSX.Element => (\n \n {value.map((tag, index) => (\n \n {(provided): JSX.Element => (\n }\n icon={}\n label={\n
\n {tag.label}\n {index === 0 ? (\n {`(${t('common.default')})`}\n ) : (\n ''\n )}\n
\n }\n />\n )}\n
\n ))}\n
\n )}\n
\n
\n );\n };\n\n renderAdornment = (endAdornment: ReactNode): JSX.Element => {\n const { spinner, error, t } = this.props;\n\n if (spinner) {\n return (\n \n \n \n );\n }\n return (\n \n {error && (\n {t(error)}}>\n \n \n )}\n {endAdornment}\n \n );\n };\n\n render(): JSX.Element {\n const {\n options,\n multi,\n input,\n label,\n t,\n meta: { error, touched },\n spinner,\n disabled,\n noOptionsText,\n column,\n allowDragAndDrop,\n placeholder,\n } = this.props;\n\n return (\n \n {/* column as boolean throws type exception for some reason */}\n \n \n {t(label)}\n \n \n \n (option.label ? option.label : '')}\n onChange={this.handleChange}\n getOptionSelected={(option, value): boolean => value.label === option.label || !multi}\n value={input.value ? input.value : []}\n renderInput={(parameters): JSX.Element => (\n \n \n \n )}\n renderTags={allowDragAndDrop ? this.renderCustomTags : this.renderTags}\n renderOption={(option): JSX.Element => }\n size=\"small\"\n />\n {error && touched && (\n \n {t(error)}\n \n )}\n \n \n );\n }\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport default withTranslation()(CustomAutocomplete) as ComponentType>;\n","/** @jsx jsx */\nimport { jsx } from \"@emotion/core\";\nimport { FormApi } from \"final-form\";\nimport React, { Component, Fragment } from \"react\";\nimport { Field } from \"react-final-form\";\nimport { WithTranslation, withTranslation } from \"react-i18next\";\nimport { IProjectFormData } from \"store/project/project.interface\";\nimport { IAutocompleteField } from \"types/shared\";\nimport CustomAutocomplete from \"../Input/CustomAutocomplete\";\nimport DraggableSelect from \"../Input/DraggableSelect/DraggableSelect\";\nimport {\n CustomLanguageMappingContainer,\n CustomLanguageMappingLegend,\n} from \"./LanguageMapping/LanguageMappingContainer.styled\";\nimport CustomCheckbox from \"../Input/CustomCheckbox\";\nimport { OnChange } from \"react-final-form-listeners\";\n\ninterface IProps {\n users: IAutocompleteField[];\n workflowSteps?: IAutocompleteField[];\n webhooks?: IAutocompleteField[];\n contentTypes?: IAutocompleteField[];\n contentElements?: IAutocompleteField[];\n kenticoSpinner?: boolean;\n fetchSpinner?: boolean;\n form: FormApi>;\n}\n\ntype PropType = IProps & WithTranslation;\n\nexport class ConnectedProjectFields extends Component {\n usersForWebhooksRef?: HTMLInputElement;\n\n render(): JSX.Element {\n const {\n users,\n webhooks,\n workflowSteps,\n contentTypes,\n contentElements,\n kenticoSpinner,\n fetchSpinner,\n t,\n form: { change, getFieldState },\n } = this.props;\n const rememberContext = getFieldState(\"rememberContext\");\n const propagateRepeat = getFieldState(\"propagateRepeat\");\n const isRichTextSelected = getFieldState(\"contentElements\")\n ?.value?.map((i: { value: string }) => i.value)\n .includes(\"rich_text\");\n\n return (\n \n \n \n \n \n\n {isRichTextSelected && (\n \n \n \n \n )}\n\n \n {(value) => {\n if (rememberContext?.visited && !value) {\n change(\"propagateRepeat\", false);\n }\n }}\n \n\n \n \n {t(\"projects.webhooks\")}\n \n \n \n \n \n \n );\n }\n}\n\nexport default withTranslation()(ConnectedProjectFields);\n","/** @jsx jsx */\nimport { jsx } from '@emotion/core';\nimport { Box } from '@material-ui/core';\nimport AddCircleIcon from '@material-ui/icons/AddCircle';\nimport CloseIcon from '@material-ui/icons/Close';\nimport CustomAutocomplete from 'components/Form/Input/CustomAutocomplete';\nimport { FormApi } from 'final-form';\nimport { Component } from 'react';\nimport { Field } from 'react-final-form';\nimport { FieldArray, FieldArrayRenderProps } from 'react-final-form-arrays';\nimport { WithTranslation, withTranslation } from 'react-i18next';\nimport { IProjectFormData } from 'store/project/project.interface';\nimport { IAutocompleteField, ILanguageMappingField } from 'types/shared';\nimport { requiredAutocomplete } from 'utils/customValidators';\nimport {\n CustomLanguageMappingButton,\n CustomLanguageMappingContainer,\n CustomLanguageMappingFieldContainer,\n CustomLanguageMappingLegend,\n CustomLanguageMappingRemoveButton,\n} from './LanguageMappingContainer.styled';\n\ninterface IState {\n filteredLanguages: IAutocompleteField[][];\n}\n\ninterface IProps {\n form: FormApi;\n kenticoLanguages?: IAutocompleteField[];\n xtmLanguages?: IAutocompleteField[];\n}\n\ntype PropType = IProps & WithTranslation;\n\nexport class LanguageMappingContainer extends Component {\n constructor(props: PropType) {\n super(props);\n\n this.state = {\n filteredLanguages: [],\n };\n }\n\n componentDidUpdate(): void {\n const { form, kenticoLanguages } = this.props;\n const { filteredLanguages } = this.state;\n\n const languageMappingFields = form.getFieldState('languageMappingFields')?.value;\n\n if (languageMappingFields?.length && kenticoLanguages && !filteredLanguages?.length) {\n this.setFilteredLanguages();\n }\n }\n\n setFilteredLanguages(): void {\n const { form, kenticoLanguages } = this.props;\n\n setTimeout(() => {\n const languageMappingFields = form.getFieldState('languageMappingFields')?.value;\n\n let filteredLanguages: IAutocompleteField[][] = [];\n\n const choosedKenticoLanguages: string[] =\n languageMappingFields?.map(({ kenticoLanguage }) => kenticoLanguage?.value) || [];\n\n filteredLanguages =\n languageMappingFields?.map((language, index) =>\n (kenticoLanguages ? kenticoLanguages?.filter(\n ({ value }) =>\n !choosedKenticoLanguages.includes(value) || languageMappingFields[index].kenticoLanguage?.value === value,\n ) : [])\n ) || [];\n\n this.setState({\n filteredLanguages,\n });\n }, 1);\n }\n\n getKenticoLanguageValue(index: number): string | undefined {\n const { form } = this.props;\n const languageMappingField = form.getFieldState('languageMappingFields')?.value;\n\n return languageMappingField && languageMappingField[index].kenticoLanguage?.value;\n }\n\n handleAddLanguageMapping = (\n fields: FieldArrayRenderProps['fields'],\n ) => (): void => {\n fields.push({ xtmLanguage: { label: '', value: '' }, kenticoLanguage: { label: '', value: '' } });\n this.setFilteredLanguages();\n };\n\n handleRemoveLanguageMapping = (\n fields: FieldArrayRenderProps['fields'],\n index: number,\n ) => (): void => {\n fields.remove(index);\n this.setFilteredLanguages();\n };\n\n onKenticoLanguageChange = (index: number, fields: FieldArrayRenderProps['fields']) => (\n event: React.ChangeEvent<{}>,\n value: IAutocompleteField | Array | null,\n ): void => {\n if (!value) {\n fields.update(index, '');\n }\n\n this.setFilteredLanguages();\n };\n\n render(): JSX.Element {\n const { filteredLanguages } = this.state;\n const { t, kenticoLanguages, xtmLanguages } = this.props;\n\n return (\n \n {({ fields }): JSX.Element => (\n \n {t('projects.languageMapping')}\n {fields.map(\n (name, index: number): JSX.Element => (\n \n \n \n \n\n \n \n \n\n \n \n \n \n ),\n )}\n {kenticoLanguages?.length !== fields?.length && (\n \n \n \n )}\n \n )}\n \n );\n }\n}\n\nexport default withTranslation()(LanguageMappingContainer);\n","import { Box } from '@material-ui/core';\nimport { Dispatch, PayloadAction } from '@reduxjs/toolkit';\nimport ProjectConnectAccordion from 'components/Form/Accordion/ProjectConnectAccordion/ProjectConnectAccordion';\nimport ButtonContainer from 'components/Form/ButtonContainer/ButtonContainer';\nimport { EditData } from 'components/Form/CilentData/EditData';\nimport ConnectedProjectFields from 'components/Form/ConnectedFields/ConnectedProjectFields';\nimport LanguageMappingContainer from 'components/Form/ConnectedFields/LanguageMapping/LanguageMappingContainer';\nimport FormDiv from 'components/Form/Div/FormDiv';\nimport CustomAutocomplete from 'components/Form/Input/CustomAutocomplete';\nimport CustomCheckbox from 'components/Form/Input/CustomCheckbox';\nimport CustomField from 'components/Form/Input/CustomField';\nimport FormTitle from 'components/Form/Title/FormTitle';\nimport { createForm, FormApi } from 'final-form';\nimport arrayMutators from 'final-form-arrays';\nimport React, { Component } from 'react';\nimport { Field, Form } from 'react-final-form';\nimport { WithTranslation, withTranslation } from 'react-i18next';\nimport { connect } from 'react-redux';\nimport { RouteComponentProps, withRouter } from 'react-router-dom';\nimport { subscribeActionAfter } from 'redux-subscribe-action';\nimport { AppDispatch, AppState } from 'store';\nimport { getAllClients } from 'store/client/client.actions';\nimport { ClientActionTypes } from 'store/client/client.actions.types';\nimport { getAllActiveClientsSelector } from 'store/client/client.selectors';\nimport {\n addProject,\n clearProjectErrors,\n editProject,\n getContentElements,\n getContentTypes,\n getKenticoLanguages,\n getProjectById,\n getWebhooks,\n getWorkflowSteps,\n getXtmLanguages,\n clearProjectFormAll,\n updateFormProject,\n} from 'store/project/project.actions';\nimport { ProjectActionTypes } from 'store/project/project.actions.types';\nimport { ILanguageMap, IProjectForm, IProjectFormData } from 'store/project/project.interface';\nimport { getProjectErrorsSelector, getProjectFormSelector } from 'store/project/project.selectors';\nimport {\n getFetchSpinnerSelector,\n getKenticoDataSpinnerSelector,\n getProjectSpinnerSelector\n} from 'store/spinner/spinner.selectors';\nimport { getUsersByClientId } from 'store/user/user.actions';\nimport { UserActionTypes } from 'store/user/user.actions.types';\nimport { IAutocompleteField, ILanguageMappingField } from 'types/shared';\nimport {\n composeValidators,\n fetchValidator,\n required,\n requiredAutocomplete,\n requiredAutocompleteBasedOnField\n} from 'utils/customValidators';\nimport {\n ClientDTO,\n ContentElementType,\n CreateOrUpdateProjectDTO,\n KontentProjectDTO,\n UserOverviewDTO,\n} from 'utils/restApplicationClient';\n\ninterface IState {\n submitValues?: CreateOrUpdateProjectDTO;\n users: UserOverviewDTO[];\n kontentProjectId?: string;\n}\n\ninterface IDispatchProps {\n getAllClients: () => AppDispatch;\n getKenticoLanguages: (payload: string) => AppDispatch;\n getXtmLanguages: () => AppDispatch;\n getUsersByClientId: (payload: string) => AppDispatch;\n getWebhooks: () => AppDispatch;\n clearProjectErrors: () => AppDispatch;\n getWorkflowSteps: () => AppDispatch;\n getContentTypes: () => AppDispatch;\n getContentElements: () => AppDispatch;\n addProject: (payload: CreateOrUpdateProjectDTO) => AppDispatch;\n editProject: (projectId: string, projectData: CreateOrUpdateProjectDTO) => AppDispatch;\n getProjectById: (payload: string) => AppDispatch;\n updateFormProject: (payload: KontentProjectDTO) => AppDispatch;\n clearProjectFormAll: () => AppDispatch;\n}\n\ninterface IStateProps {\n clients: ClientDTO[];\n projectSpinner: boolean;\n kenticoSpinner: boolean;\n fetchSpinner: boolean;\n errors: { [key: string]: string | undefined };\n clientForm: IProjectForm;\n}\n\ninterface IProps {\n native?: boolean;\n}\n\ninterface IMatchParams {\n id?: string;\n}\n\ntype IPropType = RouteComponentProps & IProps & IStateProps & IDispatchProps & WithTranslation;\n\nclass ProjectFormContainer extends Component {\n private unsubscribe: (() => void)[] = [];\n\n constructor(props: IPropType) {\n super(props);\n this.state = {\n users: [],\n };\n }\n\n componentDidMount(): void {\n const {\n getAllClients,\n getWebhooks,\n getContentElements,\n getContentTypes,\n getWorkflowSteps,\n getKenticoLanguages,\n getUsersByClientId,\n clearProjectErrors,\n getProjectById,\n getXtmLanguages,\n match: {\n params: { id: projectId },\n },\n } = this.props;\n const clientsSubscription = subscribeActionAfter(ClientActionTypes.GetAllClientsSuccess, () => {\n if (projectId) {\n getProjectById(projectId);\n }\n });\n const usersSubscription = subscribeActionAfter(UserActionTypes.getUsersByClientIdSuccess, (action) =>\n this.setState({\n users: (action as PayloadAction).payload,\n }),\n );\n\n const kenticoConnectSubscription = subscribeActionAfter(ProjectActionTypes.ConnectToKenticoSuccess, (action) => {\n const clientId = this.form.getFieldState('assignedClient')?.value?.value || this.props?.clientForm.project?.clientUUID;\n\n if (clientId) {\n getUsersByClientId(clientId);\n }\n updateFormProject((action as PayloadAction).payload);\n getWebhooks();\n getWorkflowSteps();\n getContentElements();\n getContentTypes();\n getXtmLanguages();\n getKenticoLanguages((action as PayloadAction).payload);\n });\n\n getAllClients();\n clearProjectErrors();\n\n this.unsubscribe.push(\n clientsSubscription,\n usersSubscription,\n kenticoConnectSubscription,\n );\n }\n\n componentDidUpdate(_: IPropType, previousState: IState): void {\n const { project, kontentProjectId } = this.props.clientForm;\n const shouldClearDetails = project?.kontentProjectId !== kontentProjectId && project?.kontentProjectId !== undefined;\n\n if (shouldClearDetails && project && kontentProjectId) {\n this.props.updateFormProject({...project, kontentProjectId, contentTypeIds: [], contentElementTypes: [], handledWorkflowIds: [], translatedContentWorkflowStepId: '', webhookIds: [], usersForWebhooks: [], assignedUserIds: [], languageMapping: [] })\n }\n\n if(previousState.kontentProjectId !== kontentProjectId){\n project && this.form.initialize(this.parseFormData(project, shouldClearDetails));\n }\n }\n\n componentWillUnmount(): void {\n this.props.clearProjectErrors();\n this.props.clearProjectFormAll();\n this.unsubscribe.forEach((unsubscribe) => unsubscribe());\n }\n\n parseLanguageMappingFieldToForm(data: ILanguageMap[], translate?: boolean): ILanguageMappingField[] {\n const { t } = this.props;\n\n return data.map(({ xtmLanguage, kenticoLanguage }) => ({\n xtmLanguage: { value: xtmLanguage, label: translate ? t(`projects.fieldValue.${xtmLanguage}`) : xtmLanguage },\n kenticoLanguage: {\n value: kenticoLanguage,\n label: translate ? t(`projects.fieldValue.${kenticoLanguage}`) : kenticoLanguage,\n },\n }));\n }\n\n parseLanguageMappingFieldToSubmit(data: ILanguageMappingField[]): ILanguageMap[] {\n return data.map(({ xtmLanguage, kenticoLanguage }) => ({\n xtmLanguage: xtmLanguage.value,\n kenticoLanguage: kenticoLanguage.value,\n }));\n }\n\n parseAutocompleteFieldToValue(field: IAutocompleteField[]): string[] {\n return field.map((data) => data.value);\n }\n\n parseFormData(project: KontentProjectDTO, clearDetails?: boolean): Partial {\n const { users } = this.state;\n const { clients, clientForm: {contentTypes, contentElements, webhooks, workflowSteps}} = this.props\n const foundClient = clients?.find(({ id }) => id === project?.clientUUID);\n const workflowStep = workflowSteps?.find(({ id }) => id === project?.translatedContentWorkflowStepId);\n\n return {\n assignedClient: { label: foundClient?.clientName ?? 'unknown', value: foundClient?.id ?? 'unknown' },\n projectName: project?.name,\n active: project?.status,\n kontentProjectId: project?.kontentProjectId ?? '',\n ...(clearDetails ? {} : {contentElements:\n contentElements\n ?.filter(({ codeName }) => project?.contentElementTypes?.find((type) => type === codeName))\n .map(({ name, codeName }) => ({ label: name, value: codeName })) || [],\n contentTypes:\n contentTypes\n ?.filter(({ id }) => project?.contentTypeIds?.find((contentId) => contentId === id))\n .map(({ id, name }) => ({ label: name, value: id })) || [],\n workflowStep: workflowStep ? { label: workflowStep.name, value: workflowStep.id } : undefined,\n usersAssigned:\n users\n ?.filter(({ id }) => project?.assignedUserIds?.find((userId) => userId === id))\n .map(({ id, email }) => ({ label: email, value: id })) || [],\n workflowSteps:\n workflowSteps\n ?.filter(({ id }) => project?.handledWorkflowIds?.find((stepId) => stepId === id))\n .map(({ id, name }) => ({ label: name, value: id })) || [],\n rememberContext: project.richTextContext,\n propagateRepeat: project.propagateRepeatTranslations,\n webhooks:\n webhooks\n ?.filter(({ id }) => project?.webhookIds?.find((webhookId) => webhookId === id))\n .map(({ id, name }) => ({ label: name, value: id })) || [],\n usersForWebhooks: users\n ?.filter(({ id }) => project?.usersForWebhooks?.find(({ userUUID }) => userUUID === id))\n .map(({ id, email }) => ({ label: email, value: id })),\n languageMappingFields:\n project?.languageMapping?.map(\n ({ kontentLanguageName, kontentLanguageCode, xtmLanguageCode, xtmLanguageName }) => ({\n kenticoLanguage: { label: kontentLanguageName, value: kontentLanguageCode },\n xtmLanguage: { label: xtmLanguageCode, value: xtmLanguageName },\n }),\n ) || []})\n };\n }\n\n parseSubmitFormData(project: IProjectFormData): CreateOrUpdateProjectDTO {\n return {\n clientUUID: project?.assignedClient?.value,\n projectName: project?.projectName,\n status: project?.active,\n contentElementTypes: this.parseAutocompleteFieldToValue(project?.contentElements || []) as ContentElementType[],\n kontentProjectId: project?.kontentProjectId,\n contentTypeIds: this.parseAutocompleteFieldToValue(project?.contentTypes || []),\n translatedContentWorkflowStepId: project?.workflowStep?.value as string,\n assignedUsersUUID: this.parseAutocompleteFieldToValue(project?.usersAssigned || []),\n handledWorkflowStepIds: this.parseAutocompleteFieldToValue(project?.workflowSteps || []),\n richTextContext: project.rememberContext,\n propagateRepeatTranslations: project.propagateRepeat,\n webhookIds: this.parseAutocompleteFieldToValue(project?.webhooks || []),\n usersForWebhooks:\n project.usersForWebhooks?.map(({ value }, index) => ({ userUUID: value, orderNumber: index })) || [],\n languageMapping:\n project?.languageMappingFields?.map(({ kenticoLanguage, xtmLanguage }) => ({\n xtmLanguageCode: xtmLanguage.label,\n xtmLanguageName: xtmLanguage.value,\n kontentLanguageCode: kenticoLanguage.value,\n kontentLanguageName: kenticoLanguage.label,\n })) || []\n };\n }\n\n onSubmit = (values: IProjectFormData): void => {\n const {\n addProject,\n editProject,\n clearProjectErrors,\n match: {\n params: { id: projectId },\n },\n } = this.props;\n const { project } = this.props.clientForm;\n const parsedData = this.parseSubmitFormData(values);\n\n clearProjectErrors();\n this.setState({ submitValues: parsedData });\n\n if (project && projectId) {\n editProject(projectId, parsedData);\n } else {\n addProject(parsedData);\n }\n };\n\n clientChanged = (event: React.ChangeEvent<{}>, value: IAutocompleteField | IAutocompleteField[] | null): void => {\n const { getUsersByClientId } = this.props;\n const { project, kontentProjectId } = this.props.clientForm;\n if (value && kontentProjectId) {\n getUsersByClientId((value as IAutocompleteField)?.value);\n } else {\n this.setState({ users: [] });\n\n if (project) {\n this.props.updateFormProject({...project, assignedUserIds: []})\n }\n }\n this.form.change('usersAssigned', undefined);\n this.form.change('usersForWebhooks', undefined);\n };\n\n setKontentProjectId = (kontentProjectId: string): void => {\n const { project } = this.props.clientForm\n if (project && kontentProjectId) {\n this.props.updateFormProject({...project, kontentProjectId})\n }\n };\n\n form: FormApi = createForm({\n onSubmit: this.onSubmit,\n initialValues: {\n active: true,\n },\n });\n\n render(): JSX.Element {\n const {\n match: {\n params: { id: projectId },\n },\n clients,\n projectSpinner,\n clientForm: {\n project,\n webhooks,\n workflowSteps,\n contentTypes,\n contentElements,\n kenticoLanguages,\n xtmLanguages,\n kontentProjectId\n },\n kenticoSpinner,\n errors,\n fetchSpinner,\n } = this.props;\n const {\n users,\n submitValues,\n } = this.state;\n\n return (\n \n \n (\n
\n \n ({ label: clientName, value: id }))}\n component={CustomAutocomplete}\n onChange={this.clientChanged}\n spinner={fetchSpinner}\n />\n \n \n \n\n {kontentProjectId && (\n ({ label: email, value: id }))}\n webhooks={webhooks?.map(({ name, id }) => ({ label: name, value: id }))}\n workflowSteps={workflowSteps?.map(({ name, id }) => ({ label: name, value: id }))}\n contentTypes={contentTypes?.map(({ name, id }) => ({ label: name, value: id }))}\n contentElements={contentElements?.map(({ name, codeName }) => ({ label: name, value: codeName }))}\n kenticoSpinner={kenticoSpinner}\n fetchSpinner={fetchSpinner}\n form={form}\n />\n )}\n {project && project.createdAt && project.modifiedAt && (\n \n )}\n {kontentProjectId && (\n ({\n label: name,\n value: codeName,\n }))}\n xtmLanguages={xtmLanguages?.map(({ xtmLanguageCode, xtmLanguageName }) => ({\n label: xtmLanguageCode,\n value: xtmLanguageName,\n }))}\n form={this.form}\n />\n )}\n \n \n
\n )}\n />\n
\n );\n }\n}\n\nconst mapDispatchToProps = (dispatch: Dispatch): IDispatchProps => ({\n getAllClients: (): AppDispatch => dispatch(getAllClients()),\n getKenticoLanguages: (payload: string): AppDispatch => dispatch(getKenticoLanguages(payload)),\n getXtmLanguages: (): AppDispatch => dispatch(getXtmLanguages()),\n getUsersByClientId: (payload: string): AppDispatch => dispatch(getUsersByClientId(payload)),\n getWebhooks: (): AppDispatch => dispatch(getWebhooks()),\n getWorkflowSteps: (): AppDispatch => dispatch(getWorkflowSteps()),\n getContentTypes: (): AppDispatch => dispatch(getContentTypes()),\n getContentElements: (): AppDispatch => dispatch(getContentElements()),\n addProject: (payload: CreateOrUpdateProjectDTO): AppDispatch => dispatch(addProject(payload)),\n editProject: (projectId: string, projectData: CreateOrUpdateProjectDTO): AppDispatch =>\n dispatch(editProject({ projectId, projectData })),\n getProjectById: (payload: string): AppDispatch => dispatch(getProjectById(payload)),\n clearProjectErrors: (): AppDispatch => dispatch(clearProjectErrors()),\n updateFormProject: (payload: KontentProjectDTO): AppDispatch => dispatch(updateFormProject(payload)),\n clearProjectFormAll: (): AppDispatch => dispatch(clearProjectFormAll()),\n});\n\nconst mapStateToProps = (state: AppState): IStateProps => ({\n clients: getAllActiveClientsSelector(state),\n clientForm: getProjectFormSelector(state),\n projectSpinner: getProjectSpinnerSelector(state),\n kenticoSpinner: getKenticoDataSpinnerSelector(state),\n fetchSpinner: getFetchSpinnerSelector(state),\n errors: getProjectErrorsSelector(state),\n});\n\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(withTranslation()(ProjectFormContainer)));\n","import CustomTableContainer from 'components/Table/CustomTable';\nimport TableToolbar from 'components/TableToolbar/TableToolbar';\nimport { OrderDirection } from 'enums/filter';\nimport React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport { RouteComponentProps, withRouter } from 'react-router';\nimport { Dispatch } from 'redux';\nimport { AppDispatch, AppState } from 'store';\nimport { getProjectsPageable } from 'store/project/project.actions';\nimport { getProjectsPageableSelector } from 'store/project/project.selectors';\nimport { setPaginationOptions } from 'store/table/table.actions';\nimport { ITablePaginationOptions } from 'store/table/table.interface';\nimport { KontentProjectOverviewDTO, Page } from 'utils/restApplicationClient';\n\ninterface IStateProps {\n projects?: Page;\n}\n\ninterface IDispatchProps {\n setPaginationOptions: (payload: ITablePaginationOptions) => AppDispatch;\n}\n\nconst ProjectsTable = CustomTableContainer();\n\ntype IProps = IStateProps & RouteComponentProps & IDispatchProps;\n\nclass ProjectsContainer extends Component {\n headers = [\n { label: 'common.id', id: 'id' },\n { label: 'common.kenticoProjectName', id: 'name' },\n { label: 'common.clientName', id: 'client.clientName' },\n { label: 'common.status', id: 'status' },\n { label: 'common.creationDate', id: 'createdAt' },\n { label: 'common.modificationDate', id: 'modifiedAt' },\n ];\n\n onEdit = (row: KontentProjectOverviewDTO): void => {\n this.props.history.push(`project/edit/${row.id}`);\n };\n\n onAdd = (): void => {\n this.props.history.push('project/add');\n };\n\n componentDidMount(): void {\n this.props.setPaginationOptions({\n order: OrderDirection.ASC,\n orderBy: 'client.clientName',\n });\n }\n\n render(): JSX.Element {\n const { projects } = this.props;\n return (\n
\n \n \n
\n );\n }\n}\n\nconst mapStateToProps = (state: AppState): IStateProps => ({\n projects: getProjectsPageableSelector(state),\n});\n\nconst mapDispatchToProps = (dispatch: Dispatch): IDispatchProps => ({\n setPaginationOptions: (payload: ITablePaginationOptions): AppDispatch =>\n dispatch(setPaginationOptions(payload)),\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(withRouter(ProjectsContainer));\n","import { createSelector } from '@reduxjs/toolkit';\nimport { UserOverviewDTO } from '../../../../xtm-kontent-app/src/utils/restApplicationClient';\nimport { Page, UserDTO } from '../../utils/restApplicationClient';\nimport { AppState } from '../index';\n\nconst usersPageableSelector = (state: AppState): Page | undefined => state.user.usersPageable;\n\nconst allUsersSelector = (state: AppState): UserDTO[] => state.user.users;\n\nconst userSelector = (state: AppState): UserDTO | undefined => state.user.user;\n\nexport const getUsersPageableSelector = createSelector(usersPageableSelector, (users) => users);\n\nexport const getAllUsersSelector = createSelector(allUsersSelector, (users) => users);\n\nexport const getUserSelector = createSelector(userSelector, (updateUser) => updateUser);\n","import CustomTableContainer from 'components/Table/CustomTable';\nimport TableToolbar from 'components/TableToolbar/TableToolbar';\nimport { OrderDirection } from 'enums/filter';\nimport { UserRouteParameterEnum } from 'enums/userRouteParameter';\nimport React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport { RouteComponentProps, withRouter } from 'react-router';\nimport { Dispatch } from 'redux';\nimport { AppDispatch, AppState } from 'store';\nimport { setPaginationOptions } from 'store/table/table.actions';\nimport { ITablePaginationOptions } from 'store/table/table.interface';\nimport { usersPageable } from 'store/user/user.actions';\nimport { Page, UserOverviewDTO } from 'utils/restApplicationClient';\nimport { getUsersPageableSelector } from '../../store/user/users.selectors';\n\ninterface IStateProps {\n users?: Page;\n}\n\ninterface IDispatchProps {\n setPaginationOptions: (payload: ITablePaginationOptions) => AppDispatch;\n}\n\nconst UserTable = CustomTableContainer();\n\ntype IProps = IStateProps & RouteComponentProps & IDispatchProps;\n\nclass UsersContainer extends Component {\n headers = [\n { label: 'common.id', id: 'id' },\n { label: 'common.userEmail', id: 'email' },\n { label: 'common.client', id: 'client.clientName' },\n { label: 'common.status', id: 'status' },\n { label: 'common.creationDate', id: 'createdAt' },\n { label: 'common.modificationDate', id: 'modifiedAt' },\n ];\n onEdit = (row: UserOverviewDTO): void => {\n this.props.history.push(`user/${UserRouteParameterEnum.edit}/${row.id}`);\n };\n\n onDuplicate = (row: UserOverviewDTO): void => {\n this.props.history.push(`user/${UserRouteParameterEnum.duplicate}/${row.id}`);\n };\n\n onAdd = (): void => {\n this.props.history.push('user/add');\n };\n\n componentDidMount(): void {\n this.props.setPaginationOptions({\n order: OrderDirection.ASC,\n orderBy: 'email',\n });\n }\n\n render(): JSX.Element {\n const { users } = this.props;\n\n return (\n
\n \n \n
\n );\n }\n}\n\nconst mapStateToProps = (state: AppState): IStateProps => ({\n users: getUsersPageableSelector(state),\n});\n\nconst mapDispatchToProps = (dispatch: Dispatch): IDispatchProps => ({\n setPaginationOptions: (payload: ITablePaginationOptions): AppDispatch =>\n dispatch(setPaginationOptions(payload)),\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(withRouter(UsersContainer));\n","import AddAdministratorContainer from 'containers/AddAdministrator/AddAdministratorContainer';\nimport AddClientContainer from 'containers/AddClientContainer/AddClientContainer';\nimport AddUserContainer from 'containers/AddUser/AddUserContainer';\nimport AdministratorsContainer from 'containers/Administrators/AdministratorsContainer';\nimport ClientsContainer from 'containers/Clients/ClientsContainer';\nimport ProjectFormContainer from 'containers/ProjectFormContainer/ProjectFormContainer';\nimport ProjectsContainer from 'containers/Projects/ProjectsContainer';\nimport UsersContainer from 'containers/Users/UsersContainer';\nimport { Roles } from 'enums/roles';\nimport { IRoute } from 'types/route';\n\nexport const mainRoutes: IRoute[] = [\n {\n pathname: '/clients',\n component: ClientsContainer,\n exact: true,\n roles: [Roles.ADMIN_XTM],\n navbar: true,\n routeTextKey: 'common.clients',\n },\n {\n pathname: '/administrators',\n component: AdministratorsContainer,\n exact: true,\n roles: [Roles.ADMIN_XTM],\n navbar: true,\n routeTextKey: 'common.administrators',\n },\n {\n pathname: '/users',\n component: UsersContainer,\n exact: true,\n roles: [Roles.ADMIN_CLIENT, Roles.ADMIN_XTM],\n navbar: true,\n routeTextKey: 'common.users',\n },\n {\n pathname: '/projects',\n component: ProjectsContainer,\n exact: true,\n roles: [Roles.ADMIN_CLIENT, Roles.ADMIN_XTM],\n navbar: true,\n routeTextKey: 'common.kenticoProjects',\n },\n {\n pathname: '/project/add',\n component: ProjectFormContainer,\n exact: true,\n roles: [Roles.ADMIN_XTM, Roles.ADMIN_CLIENT],\n },\n {\n pathname: '/project/edit/:id',\n component: ProjectFormContainer,\n exact: true,\n roles: [Roles.ADMIN_XTM, Roles.ADMIN_CLIENT],\n },\n {\n pathname: '/client/add',\n component: AddClientContainer,\n exact: true,\n roles: [Roles.ADMIN_XTM],\n },\n {\n pathname: '/client/edit/:id',\n component: AddClientContainer,\n exact: true,\n roles: [Roles.ADMIN_XTM],\n },\n {\n pathname: '/administrator/add',\n component: AddAdministratorContainer,\n exact: true,\n roles: [Roles.ADMIN_XTM],\n },\n {\n pathname: '/administrator/edit/:id',\n component: AddAdministratorContainer,\n exact: true,\n roles: [Roles.ADMIN_XTM],\n },\n {\n pathname: '/user/add',\n component: AddUserContainer,\n exact: true,\n roles: [Roles.ADMIN_CLIENT, Roles.ADMIN_XTM],\n },\n {\n pathname: '/user/:type/:id',\n component: AddUserContainer,\n exact: true,\n roles: [Roles.ADMIN_CLIENT, Roles.ADMIN_XTM],\n },\n];\n","import { css } from '@emotion/core';\n\nexport const navbarStyles = {\n root: css`\n display: flex;\n background: #fff;\n padding: 0 15px;\n border-bottom: 1px solid rgba(140, 140, 140, 0.4);\n `,\n};\n","/** @jsx jsx */\nimport { jsx } from '@emotion/core';\nimport { Tab, Tabs } from '@material-ui/core';\nimport { Roles } from 'enums/roles';\nimport { mainRoutes } from 'layouts/main/routes';\nimport { Component } from 'react';\nimport { WithTranslation, withTranslation } from 'react-i18next';\nimport { connect } from 'react-redux';\nimport { RouteComponentProps, withRouter } from 'react-router-dom';\nimport { AppState } from 'store';\nimport { getUserDataSelector } from 'store/user/user.selectors';\nimport { IRoute } from 'types/route';\nimport { checkRoles } from 'utils/checkRoles';\nimport { AuthenticationResult, RefreshTokenResult } from 'utils/restApplicationClient';\nimport { navbarStyles } from './Navbar.style';\n\ninterface IProps extends RouteComponentProps {\n pages: IRoute[];\n}\n\ninterface IStateProps {\n data: (AuthenticationResult & RefreshTokenResult) | undefined;\n}\n\nconst routeValues = mainRoutes.filter((route) => route.navbar);\n\nexport class Navbar extends Component {\n pagesToRender: IRoute[];\n\n constructor(props: IProps & WithTranslation & IStateProps) {\n super(props);\n this.pagesToRender = this.props.pages.filter((element) => {\n return element.navbar && element.routeTextKey && checkRoles(element.roles, this.props.data?.roles as Roles[]);\n });\n }\n\n setTabValue = (): string | boolean => {\n const value = this.pagesToRender.find((element) => this.props.location.pathname.startsWith(element.pathname));\n if (value && routeValues.includes(value)) {\n return value.pathname;\n }\n return false;\n };\n\n handleTabChange = (pathname: string) => (): void => {\n this.props.history.push(pathname);\n };\n\n render(): JSX.Element {\n const { t } = this.props;\n return (\n
\n \n {this.pagesToRender.map((element, index) => (\n \n ))}\n \n
\n );\n }\n}\n\nconst mapStateToProps = (state: AppState): IStateProps => ({\n data: getUserDataSelector(state),\n});\n\nexport default connect(mapStateToProps)(withTranslation()(withRouter(Navbar)));\n","/** @jsx jsx */\nimport { jsx } from '@emotion/core';\nimport CustomLink from 'components/CustomLink/CustomLink';\nimport LoginHeader from 'components/LoginHeader/LoginHeader';\nimport Navbar from 'components/Navbar/Navbar';\nimport { Roles } from 'enums/roles';\nimport { mainRoutes } from 'layouts/main/routes';\nimport { Component, Dispatch, Fragment } from 'react';\nimport { connect } from 'react-redux';\nimport { Redirect, Route, RouteComponentProps, Switch } from 'react-router-dom';\nimport { AppDispatch, AppState } from 'store';\nimport { logoutUser } from 'store/user/user.actions';\nimport { getAuthSelector, getUserDataSelector } from 'store/user/user.selectors';\nimport { IRoute } from 'types/route';\nimport { checkRoles } from 'utils/checkRoles';\nimport { AuthenticationResult, RefreshTokenResult } from 'utils/restApplicationClient';\n\n// will change to user credentials later\ninterface IStateProps {\n isAuth: boolean;\n data: (AuthenticationResult & RefreshTokenResult) | undefined;\n}\n\ninterface IDispatchProps {\n logout: () => void;\n}\n\nexport class MainLayoutComponent extends Component {\n logout = (): void => {\n this.props.logout();\n };\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n renderRoute(route: IRoute, props: RouteComponentProps): JSX.Element {\n const { component: Component, roles } = route;\n const isAllowed = checkRoles(roles, (this.props.data?.roles as Roles[]) || roles);\n return isAllowed ? : ;\n }\n\n render(): JSX.Element {\n return (\n \n \n \n \n \n \n {mainRoutes.map((route) => {\n return (\n this.renderRoute(route, props)}\n />\n );\n })}\n } />\n \n \n );\n }\n}\n\nconst mapDispatchToProps = (dispatch: Dispatch): IDispatchProps => ({\n logout: (): void => dispatch(logoutUser()),\n});\n\nconst mapStateToProps = (state: AppState): IStateProps => ({\n isAuth: getAuthSelector(state),\n data: getUserDataSelector(state),\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(MainLayoutComponent);\n","import { createBrowserHistory } from 'history';\n\nexport default createBrowserHistory();\n","import { OptionsObject } from 'notistack';\n\nexport const NotificationActionTypes = {\n showError: 'SHOW_ERROR',\n closeAlert: 'CLOSE_ALERT',\n showSuccessful: 'SHOW_SUCCESSFUL',\n};\n\nexport interface IShowErrorPayload {\n message: string;\n options?: OptionsObject;\n}\n\nexport interface ICloseAlertPayload {\n key: number;\n}\n","import { createAction } from '@reduxjs/toolkit';\nimport { ICloseAlertPayload, IShowErrorPayload, NotificationActionTypes } from './notify.actions.types';\n\ntype ErrorAction = typeof NotificationActionTypes;\n\nexport const showError = createAction(NotificationActionTypes.showError);\nexport const showSuccessful = createAction(\n NotificationActionTypes.showSuccessful,\n);\nexport const closeAlert = createAction(\n NotificationActionTypes.closeAlert,\n);\n","// @flow\nimport { useSnackbar, withSnackbar } from 'notistack';\nimport React, { useEffect } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { Dispatch } from 'redux';\nimport { AppDispatch, AppState } from 'store';\nimport { closeAlert } from 'store/notify/notify.actions';\nimport { IErrorNofitication } from 'store/notify/notify.interface';\n\nlet displayed: number[] = [];\n\nexport function getDisplayedKeys(): number[] {\n return displayed;\n}\n\nconst NotifyAlert: React.FC = () => {\n const dispatch = useDispatch>();\n const notifications = useSelector((store) => store.notify.notifications);\n const { t } = useTranslation();\n\n const { enqueueSnackbar, closeSnackbar } = useSnackbar();\n\n useEffect(() => {\n notifications.map(({ key, message, options = {} }) => {\n if (displayed.includes(key)) return;\n\n enqueueSnackbar(t(message), {\n key,\n ...options,\n onClose: (event, reason, myKey) => {\n if (options.onClose) {\n options.onClose(event, reason, myKey);\n }\n },\n onExited: (_event, myKey) => {\n dispatch(closeAlert({ key: Number(myKey) }));\n displayed = [...displayed.filter((dp) => dp !== key)];\n },\n });\n\n displayed = [...displayed, key];\n });\n }, [notifications, closeSnackbar, enqueueSnackbar, dispatch]);\n\n return null;\n};\n\nexport default withSnackbar(NotifyAlert);\n","/** @jsx jsx */\nimport { jsx } from '@emotion/core';\nimport { Box, CircularProgress, IconButton } from '@material-ui/core';\nimport ClearIcon from '@material-ui/icons/Clear';\nimport { appStyle } from 'App.style';\nimport SessionExpiredModal from 'components/SessionExpiredModal/SessionExpiredModal';\nimport LoginLayoutComponent from 'layouts/login';\nimport { loginRoutes } from 'layouts/login/routes';\nimport MainLayoutComponent from 'layouts/main';\nimport { ProviderContext, SnackbarProvider } from 'notistack';\nimport React, { RefObject, useEffect } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { Redirect, Route, Router, Switch } from 'react-router-dom';\nimport { Dispatch } from 'redux';\nimport { AppDispatch } from 'store';\nimport { verifyToken } from 'store/user/user.actions';\nimport { getAuthSelector, getVerifyFinishSelector } from 'store/user/user.selectors';\nimport browserHistory from 'utils/browserHistory';\nimport NotifyAlert from './components/NotifyAlert/NotifyAlert';\n\nconst notistackRef: RefObject = React.createRef();\nconst onClickDismiss = (key: string | number) => (): void => {\n if (notistackRef.current) {\n notistackRef.current.closeSnackbar(key);\n }\n};\n\nfunction App(): JSX.Element {\n const isAuth = useSelector(getAuthSelector);\n const verifyFinished = useSelector(getVerifyFinishSelector);\n const dispatch = useDispatch>();\n\n useEffect(() => {\n dispatch(verifyToken());\n }, []);\n\n const mainLayoutRoute = (): JSX.Element => {\n if (!isAuth && !verifyFinished) {\n return ;\n } else if (!isAuth && verifyFinished) {\n return ;\n }\n return ;\n };\n return (\n (\n \n \n \n \n \n )}\n >\n {verifyFinished && (\n
\n \n \n \n \n {loginRoutes.map((route) => {\n return (\n {\n return isAuth ? : ;\n }}\n />\n );\n })}\n \n \n \n
\n )}\n \n );\n}\n\nexport default App;\n","// This optional code is used to register a service worker.\n// register() is not called by default.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on subsequent visits to a page, after all the\n// existing tabs open on the page have been closed, since previously cached\n// resources are updated in the background.\n\n// To learn more about the benefits of this model and instructions on how to\n// opt-in, read https://bit.ly/CRA-PWA\n\nconst isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === '[::1]' ||\n // 127.0.0.0/8 are considered localhost for IPv4.\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\n\ntype Config = {\n onSuccess?: (registration: ServiceWorkerRegistration) => void;\n onUpdate?: (registration: ServiceWorkerRegistration) => void;\n};\n\nexport function register(config?: Config) {\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(\n process.env.PUBLIC_URL,\n window.location.href\n );\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\n return;\n }\n\n window.addEventListener('load', () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n if (isLocalhost) {\n // This is running on localhost. Let's check if a service worker still exists or not.\n checkValidServiceWorker(swUrl, config);\n\n // Add some additional logging to localhost, pointing developers to the\n // service worker/PWA documentation.\n navigator.serviceWorker.ready.then(() => {\n console.log(\n 'This web app is being served cache-first by a service ' +\n 'worker. To learn more, visit https://bit.ly/CRA-PWA'\n );\n });\n } else {\n // Is not localhost. Just register service worker\n registerValidSW(swUrl, config);\n }\n });\n }\n}\n\nfunction registerValidSW(swUrl: string, config?: Config) {\n navigator.serviceWorker\n .register(swUrl)\n .then(registration => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing;\n if (installingWorker == null) {\n return;\n }\n installingWorker.onstatechange = () => {\n if (installingWorker.state === 'installed') {\n if (navigator.serviceWorker.controller) {\n // At this point, the updated precached content has been fetched,\n // but the previous service worker will still serve the older\n // content until all client tabs are closed.\n console.log(\n 'New content is available and will be used when all ' +\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\n );\n\n // Execute callback\n if (config && config.onUpdate) {\n config.onUpdate(registration);\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n console.log('Content is cached for offline use.');\n\n // Execute callback\n if (config && config.onSuccess) {\n config.onSuccess(registration);\n }\n }\n }\n };\n };\n })\n .catch(error => {\n console.error('Error during service worker registration:', error);\n });\n}\n\nfunction checkValidServiceWorker(swUrl: string, config?: Config) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl, {\n headers: { 'Service-Worker': 'script' }\n })\n .then(response => {\n // Ensure service worker exists, and that we really are getting a JS file.\n const contentType = response.headers.get('content-type');\n if (\n response.status === 404 ||\n (contentType != null && contentType.indexOf('javascript') === -1)\n ) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister().then(() => {\n window.location.reload();\n });\n });\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl, config);\n }\n })\n .catch(() => {\n console.log(\n 'No internet connection found. App is running in offline mode.'\n );\n });\n}\n\nexport function unregister() {\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.ready\n .then(registration => {\n registration.unregister();\n })\n .catch(error => {\n console.error(error.message);\n });\n }\n}\n","import store from 'store';\nimport { getContentTypes, getWebhooks, getWorkflowSteps } from 'store/project/project.actions';\nimport { getUsersByClientId } from 'store/user/user.actions';\n\nexport enum ProjecValidationErrorEnum {\n CONTENT_TYPES = 'contentTypes',\n WORKFLOWS = 'workflows',\n WEBHOOKS = 'webhooks',\n USERS = 'users',\n}\n\n/**\n * Fetch new project fields data based on error message\n */\nexport function checkProjectValidation(errorArguments: string): void {\n const errorTypes = errorArguments?.split(',');\n\n // eslint-disable-next-line\n errorTypes?.map((argument) => {\n switch (argument) {\n case ProjecValidationErrorEnum.CONTENT_TYPES: {\n store.dispatch(getContentTypes());\n break;\n }\n case ProjecValidationErrorEnum.WORKFLOWS: {\n store.dispatch(getWorkflowSteps());\n break;\n }\n case ProjecValidationErrorEnum.WEBHOOKS: {\n store.dispatch(getWebhooks());\n break;\n }\n case ProjecValidationErrorEnum.USERS: {\n store.dispatch(getUsersByClientId(store.getState().project.selectedClientId ?? ''));\n break;\n }\n }\n });\n}\n","import { PayloadAction } from '@reduxjs/toolkit';\nimport { AxiosResponse } from 'axios';\nimport { combineEpics, Epic } from 'redux-observable';\nimport { EMPTY, of } from 'rxjs';\nimport { filter, switchMap } from 'rxjs/operators';\nimport {\n createAdministratorError,\n editAdministratorError,\n getAdministratorByIdError,\n getAdministratorsPageableError,\n} from 'store/administrator/administrator.actions';\nimport {\n createClientError,\n editClientError,\n getAllClientsError,\n getClientByIdError,\n getClientsPageableError,\n} from 'store/client/client.actions';\nimport { showError } from 'store/notify/notify.actions';\nimport {\n getProjectsPageableError,\n getContentTypesError,\n getContentElementsError,\n getWorkflowStepsError,\n getWebhooksError,\n getApiKeyError,\n addProjectError,\n editProjectError,\n getProjectByIdError,\n getKenticoLanguagesError,\n getXtmLanguagesError,\n GetProjectsByClientIdError,\n} from 'store/project/project.actions';\nimport {\n changePasswordError,\n changeUserPasswordError,\n createUserError,\n editUserError,\n getAllUsersError,\n getDefaultUserLanguagesError,\n getUserByIdError,\n getUsersByClientIdError,\n logoutUserError,\n resetPasswordError,\n resetUserPasswordError,\n sessionExpired,\n usersPageableError,\n verifyPassTokenError,\n verifyTokenError,\n xtmGetConnectDataError,\n xtmGetCustomersByIdError,\n xtmGetCustomersError,\n xtmGetTemplatesError,\n} from 'store/user/user.actions';\nimport { checkProjectValidation } from 'utils/checkProjectValidation';\nimport i18n from 'utils/initTranslation';\n\nexport enum ActionSourceType {\n ADMINISTRATOR = 'administrator',\n AUTH = 'auth',\n CLIENT = 'client',\n COMMON = 'common',\n PROJECTS = 'projects',\n TABLE = 'table',\n USERS = 'users',\n VALIDATOR = 'validator',\n}\n\nexport interface ErrorData {\n args: string[];\n errorMessage: string;\n errorCode: string;\n}\n\nexport interface ErrorPayload {\n error: AxiosResponse;\n type?: ActionSourceType;\n skipMessage?: boolean;\n}\n\nexport const AvailableErrorActionTypes = [\n createAdministratorError.type,\n getAdministratorsPageableError.type,\n getAdministratorByIdError.type,\n editAdministratorError.type,\n getAllClientsError.type,\n createClientError.type,\n getClientsPageableError.type,\n editClientError.type,\n getClientByIdError.type,\n getProjectsPageableError.type,\n getContentTypesError.type,\n getContentElementsError.type,\n getWorkflowStepsError.type,\n getWebhooksError.type,\n getApiKeyError.type,\n addProjectError.type,\n editProjectError.type,\n getProjectByIdError.type,\n getKenticoLanguagesError.type,\n getXtmLanguagesError.type,\n GetProjectsByClientIdError.type,\n verifyPassTokenError.type,\n changePasswordError.type,\n changeUserPasswordError.type,\n logoutUserError.type,\n getUsersByClientIdError.type,\n resetPasswordError.type,\n resetUserPasswordError.type,\n verifyTokenError.type,\n getAllUsersError.type,\n createUserError.type,\n usersPageableError.type,\n editUserError.type,\n getUserByIdError.type,\n xtmGetCustomersError.type,\n xtmGetTemplatesError.type,\n xtmGetCustomersByIdError.type,\n xtmGetConnectDataError.type,\n getDefaultUserLanguagesError.type,\n];\n\n/**\n * Epic for handling error actions.\n *\n * Messages are shown based on passed type. Default type is COMMON from ActionSourceType enum\n *\n * Only actions in AvailableErrorActionTypes table will be handled.\n *\n * You can pass these params to the error action.\n * - @param error: AxiosResponse;\n * - @param type?: ActionSourceType;\n * - @param skipMessage?: boolean;\n */\nexport const handleErrorEpic: Epic = (action$) =>\n action$.pipe(\n filter(\n ({ type }: PayloadAction) =>\n !!AvailableErrorActionTypes.find((actionType) => actionType === type),\n ),\n switchMap(({ payload: { error, type = ActionSourceType.COMMON, skipMessage } }) => {\n if (!error) {\n return of(showError({ message: 'common.errormessage.internalservererror' }));\n }\n\n const { data, status } = error;\n const errorData: ErrorData = Array.isArray(data) ? data[0] : data;\n const { errorCode } = errorData;\n\n if (status === 403) {\n return of(sessionExpired(true));\n }\n\n if (String(errorCode)?.includes('projectvalidationerror')) {\n checkProjectValidation(errorData?.args[0]);\n }\n\n const isTranslationAvailbable = i18n.t(`${type}.${errorCode}`) !== `${type}.${errorCode}`;\n const message = isTranslationAvailbable ? `${type}.${errorCode}` : `${type}.errormessage.internalservererror`;\n\n return skipMessage ? EMPTY : of(showError({ message }));\n }),\n );\n\nexport const errorEpics = combineEpics(handleErrorEpic);\n","import { combineEpics, Epic, ofType } from 'redux-observable';\nimport { from, of } from 'rxjs';\nimport { catchError, switchMap } from 'rxjs/operators';\nimport store from 'store';\nimport { showSuccessful } from 'store/notify/notify.actions';\nimport { setPaginationSearchSpinner } from 'store/table/table.actions';\nimport { api } from 'utils/axiosInstance';\nimport {\n createAdministrator,\n createAdministratorError,\n createAdministratorSuccess,\n editAdministrator,\n editAdministratorSuccess,\n getAdministratorById,\n getAdministratorByIdError,\n getAdministratorByIdSuccess,\n getAdministratorsPageable,\n getAdministratorsPageableError,\n getAdministratorsPageableSuccess,\n} from './administrator.actions';\n\nexport const createAdministratorEpic: Epic = (action$, _, { browserHistory }) =>\n action$.pipe(\n ofType(createAdministrator.type),\n switchMap(({ payload }) =>\n from(api.createAdministrator(payload)).pipe(\n switchMap(() => {\n store.dispatch(showSuccessful({ message: 'administrator.success.create' }));\n browserHistory.push('/administrators');\n return of(createAdministratorSuccess());\n }),\n catchError(({ response, response: { status } }) =>\n of(createAdministratorError({ error: response, skipMessage: status === 409 })),\n ),\n ),\n ),\n );\n\nexport const getAdministratorByIdEpic: Epic = (actions$, _, { browserHistory }) =>\n actions$.pipe(\n ofType(getAdministratorById.type),\n switchMap(({ payload }) =>\n from(api.getAdministrator(payload)).pipe(\n switchMap(({ data }) => of(getAdministratorByIdSuccess(data))),\n catchError(({ response }) => {\n browserHistory.push('/administrators');\n return of(getAdministratorByIdError({ error: response }));\n }),\n ),\n ),\n );\n\nexport const getAdministratorsPageableEpic: Epic = (action$) =>\n action$.pipe(\n ofType(getAdministratorsPageable.type),\n switchMap(({ payload }) =>\n from(api.getAllAdministrators(payload)).pipe(\n switchMap(({ data }) => {\n store.dispatch(setPaginationSearchSpinner(false));\n return of(getAdministratorsPageableSuccess(data));\n }),\n catchError(({ response }) =>\n of(getAdministratorsPageableError({ error: response }), setPaginationSearchSpinner(false)),\n ),\n ),\n ),\n );\n\nexport const editAdministratorEpic: Epic = (actions$, _, { browserHistory }) =>\n actions$.pipe(\n ofType(editAdministrator.type),\n switchMap(({ payload }) =>\n from(api.editAdministrator(payload.administratorId, payload.updateAdministrator)).pipe(\n switchMap(() => {\n store.dispatch(showSuccessful({ message: 'administrator.success.edit' }));\n browserHistory.push('/administrators');\n return of(editAdministratorSuccess());\n }),\n catchError(({ response, response: { status } }) =>\n of(createAdministratorError({ error: response, skipMessage: status === 409 })),\n ),\n ),\n ),\n );\n\nexport const administratorEpics = combineEpics(\n createAdministratorEpic,\n getAdministratorsPageableEpic,\n getAdministratorByIdEpic,\n editAdministratorEpic,\n);\n","import { createReducer } from '@reduxjs/toolkit';\nimport {\n clearAdministrator,\n clearAdministratorErrors,\n createAdministratorError,\n getAdministratorByIdSuccess,\n getAdministratorsPageableSuccess,\n} from './administrator.actions';\nimport { IAdministratorState } from './administrator.interface';\n\nconst initState: IAdministratorState = {\n errors: {},\n administratorsPageable: undefined,\n administrator: undefined,\n};\n\nexport const administratorReducer = createReducer(initState, (builder) =>\n builder\n .addCase(\n createAdministratorError,\n (\n state,\n {\n payload: {\n error: { status },\n },\n },\n ) => {\n state.errors.email = status === 409 ? 'administrator.errors.duplicate' : undefined;\n },\n )\n .addCase(clearAdministratorErrors, (state) => {\n state.errors = {};\n })\n .addCase(getAdministratorsPageableSuccess, (state, action) => {\n state.administratorsPageable = action.payload;\n })\n .addCase(getAdministratorByIdSuccess, (state, action) => {\n state.administrator = action.payload;\n })\n .addCase(clearAdministrator, (state) => {\n state.administrator = undefined;\n }),\n);\n","import { combineEpics, Epic, ofType } from 'redux-observable';\nimport { from, of } from 'rxjs';\nimport { catchError, switchMap } from 'rxjs/operators';\nimport store from 'store';\nimport { showSuccessful } from 'store/notify/notify.actions';\nimport { setPaginationSearchSpinner } from 'store/table/table.actions';\nimport { api } from 'utils/axiosInstance';\nimport {\n createClient,\n createClientError,\n createClientSuccess,\n editClient,\n editClientSuccess,\n getAllClients,\n getAllClientsError,\n getAllClientsSuccess,\n getClientById,\n getClientByIdError,\n getClientByIdSuccess,\n getClientsPageable,\n getClientsPageableError,\n getClientsPageableSuccess,\n} from './client.actions';\n\nexport const getAllClientsEpic: Epic = (action$) =>\n action$.pipe(\n ofType(getAllClients.type),\n switchMap(() =>\n from(api.getAllClients$GET$api_client()).pipe(\n switchMap(({ data }) => of(getAllClientsSuccess(data))),\n catchError(({ response }) => of(getAllClientsError({ error: response }))),\n ),\n ),\n );\n\nexport const createClientEpic: Epic = (action$, _, { browserHistory }) =>\n action$.pipe(\n ofType(createClient.type),\n switchMap(({ payload }) =>\n from(api.createClient(payload)).pipe(\n switchMap(() => {\n store.dispatch(showSuccessful({ message: 'client.success.create' }));\n browserHistory.push('/clients');\n return of(createClientSuccess());\n }),\n catchError(({ response, response: { status } }) =>\n of(createClientError({ error: response, skipMessage: status === 409 })),\n ),\n ),\n ),\n );\n\nexport const getClientsPageableEpic: Epic = (action$) =>\n action$.pipe(\n ofType(getClientsPageable.type),\n switchMap(({ payload }) =>\n from(api.getAllClients$GET$api_client_pageable(payload)).pipe(\n switchMap(({ data }) => {\n store.dispatch(setPaginationSearchSpinner(false));\n return of(getClientsPageableSuccess(data));\n }),\n catchError(({ response }) => of(getClientsPageableError({ error: response }))),\n ),\n ),\n );\n\nexport const editClientEpic: Epic = (actions$, _, { browserHistory }) =>\n actions$.pipe(\n ofType(editClient.type),\n switchMap(({ payload }) =>\n from(api.editClient(payload.clientId, payload.updateClient)).pipe(\n switchMap(() => {\n store.dispatch(showSuccessful({ message: 'client.success.edit' }));\n browserHistory.push('/clients');\n return of(editClientSuccess());\n }),\n catchError(({ response, response: { status } }) =>\n of(createClientError({ error: response, skipMessage: status === 409 })),\n ),\n ),\n ),\n );\n\nexport const getClientByIdEpic: Epic = (actions$, _, { browserHistory }) =>\n actions$.pipe(\n ofType(getClientById.type),\n switchMap(({ payload }) =>\n from(api.getClient(payload)).pipe(\n switchMap(({ data }) => of(getClientByIdSuccess(data))),\n catchError(({ response }) => {\n browserHistory.push('/clients');\n return of(getClientByIdError({ error: response }));\n }),\n ),\n ),\n );\n\nexport const clientEpics = combineEpics(\n getClientsPageableEpic,\n getAllClientsEpic,\n createClientEpic,\n editClientEpic,\n getClientByIdEpic,\n);\n","import { createReducer } from '@reduxjs/toolkit';\nimport {\n clearClient,\n clearClientErrors,\n createClientError,\n getAllClientsSuccess,\n getClientByIdSuccess,\n getClientsPageableSuccess,\n} from './client.actions';\nimport { IClientState } from './client.interface';\n\nconst initState: IClientState = {\n clients: [],\n errors: {},\n clientsPageable: undefined,\n client: undefined,\n};\n\nexport const clientReducer = createReducer(initState, (builder) =>\n builder\n .addCase(getAllClientsSuccess, (state, action) => {\n state.clients = action.payload;\n })\n .addCase(\n createClientError,\n (\n state,\n {\n payload: {\n error: { status },\n },\n },\n ) => {\n state.errors.clientName = status === 409 ? 'client.errors.duplicate' : undefined;\n },\n )\n .addCase(getClientsPageableSuccess, (state, action) => {\n state.clientsPageable = action.payload;\n })\n .addCase(clearClient, (state) => {\n state.client = undefined;\n })\n .addCase(getClientByIdSuccess, (state, action) => {\n state.client = action.payload;\n })\n .addCase(clearClientErrors, (state) => {\n state.errors = {};\n }),\n);\n","import { createReducer } from '@reduxjs/toolkit';\nimport { closeAlert, showError, showSuccessful } from './notify.actions';\nimport { INotifyState } from './notify.interface';\n\nconst initState: INotifyState = {\n notifications: [],\n};\n\nexport const notifyReducer = createReducer(initState, (builder) =>\n builder\n .addCase(showError, (state, action) => {\n state.notifications = [\n ...state.notifications,\n {\n key: new Date().getTime() + Math.floor(Math.random() * 1000),\n message: action.payload.message,\n options: {\n ...(action.payload.options as object),\n variant: 'error',\n },\n },\n ];\n })\n .addCase(showSuccessful, (state, action) => {\n state.notifications = [\n ...state.notifications,\n {\n key: new Date().getTime() + Math.floor(Math.random() * 1000),\n message: action.payload.message,\n options: {\n ...(action.payload.options as object),\n variant: 'success',\n },\n },\n ];\n })\n .addCase(closeAlert, (state, action) => {\n state.notifications = [...state.notifications.filter((notify) => notify.key !== action.payload.key)];\n }),\n);\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { combineEpics, Epic, ofType } from 'redux-observable';\nimport { from, of, zip } from 'rxjs';\nimport { catchError, switchMap, mergeMap } from 'rxjs/operators';\nimport { AppState } from 'store';\nimport { showError, showSuccessful } from 'store/notify/notify.actions';\nimport { setPaginationSearchSpinner } from 'store/table/table.actions';\nimport { api } from 'utils/axiosInstance';\nimport { CreateOrUpdateProjectDTO, KontentContentElementTypeDTO, KontentContentTypeDTO, KontentLanguageDTO, KontentWebhookDTO, KontentWorkflowStepDTO, XTMLanguageDTO } from 'utils/restApplicationClient';\nimport { PayloadAction } from '@reduxjs/toolkit';\nimport {\n addProject,\n addProjectError,\n addProjectSuccess,\n connectToKentico,\n connectToKenticoError,\n connectToKenticoSuccess,\n editProject,\n editProjectError,\n editProjectSuccess,\n getApiKey,\n getApiKeyError,\n getApiKeySuccess,\n getContentElements,\n getContentElementsError,\n getContentElementsSuccess,\n getContentTypes,\n getContentTypesError,\n getContentTypesSuccess,\n getKenticoLanguages,\n getKenticoLanguagesError,\n getKenticoLanguagesSuccess,\n getProjectById,\n getProjectByIdError,\n getProjectByIdSuccess,\n GetProjectsByClientId,\n GetProjectsByClientIdError,\n GetProjectsByClientIdSuccess,\n getProjectsPageable,\n getProjectsPageableError,\n getProjectsPageableSuccess,\n getWebhooks,\n getWebhooksError,\n getWebhooksSuccess,\n getWorkflowSteps,\n getWorkflowStepsError,\n getWorkflowStepsSuccess,\n getXtmLanguages,\n getXtmLanguagesError,\n getXtmLanguagesSuccess,\n allFormObservers,\n clearProjectFormAll,\n} from './project.actions';\n\nexport const getProjectsPageableEpic: Epic = (action$) =>\n action$.pipe(\n ofType(getProjectsPageable.type),\n switchMap(({ payload }) =>\n from(api.getAllProjects(payload)).pipe(\n switchMap(({ data }) => of(getProjectsPageableSuccess(data), setPaginationSearchSpinner(false))),\n catchError(({ response }) =>\n of(getProjectsPageableError({ error: response }), setPaginationSearchSpinner(false)),\n ),\n ),\n ),\n );\n\nexport const getWorkflowStepsEpic: Epic = (action$, state$) =>\n action$.pipe(\n ofType(getWorkflowSteps.type),\n switchMap(() =>\n from(api.getWorkflowStepList(state$.value.project.connectedProjectId)).pipe(\n switchMap(({ data }) => of(getWorkflowStepsSuccess(data))),\n catchError(({ response }) => of(getWorkflowStepsError({ error: response }))),\n ),\n ),\n );\n\nexport const getContentTypesEpic: Epic = (action$, state$) =>\n action$.pipe(\n ofType(getContentTypes.type),\n switchMap(() =>\n from(api.getContentTypesListByKontentProject(state$.value.project.connectedProjectId)).pipe(\n switchMap(({ data }) => of(getContentTypesSuccess(data))),\n catchError(({ response }) => of(getContentTypesError({ error: response }))),\n ),\n ),\n );\n\nexport const getContentElementsEpic: Epic = (action$) =>\n action$.pipe(\n ofType(getContentElements.type),\n switchMap(() =>\n from(api.getContentElementTypesList()).pipe(\n switchMap(({ data }) => of(getContentElementsSuccess(data))),\n catchError(({ response }) => of(getContentElementsError({ error: response }))),\n ),\n ),\n );\n\nexport const getWebhooksEpic: Epic = (action$, state$) =>\n action$.pipe(\n ofType(getWebhooks.type),\n switchMap(() =>\n from(api.getWebhookList(state$.value.project.connectedProjectId)).pipe(\n switchMap(({ data }) => of(getWebhooksSuccess(data))),\n catchError(({ response }) => of(getWebhooksError({ error: response }))),\n ),\n ),\n );\n\nexport const connectToKenticoEpic: Epic = (action$) =>\n action$.pipe(\n ofType(connectToKentico.type),\n switchMap(({ payload: { managementApiKey, deliveryApiKey, kontentProjectId } }) =>\n from(\n api.connectKontentProject({\n managementApiKey,\n deliveryApiKey,\n kontentProjectId,\n }),\n ).pipe(\n switchMap(() => of(connectToKenticoSuccess(kontentProjectId))),\n catchError(({ response }) => {\n if (response.status === 410) {\n return of(connectToKenticoError({ error: response }), clearProjectFormAll(), showError({ message: 'projects.errors.removed'}));\n }\n return of(connectToKenticoError({ error: response }));\n }),\n ),\n ),\n );\n\nexport const getApiKeyEpic: Epic = (action$) =>\n action$.pipe(\n ofType(getApiKey.type),\n switchMap(({ payload }) =>\n from(api.getApiKey(payload)).pipe(\n switchMap(({ data }) => of(getApiKeySuccess(data))),\n catchError(({ response }) => of(getApiKeyError({ error: response }))),\n ),\n ),\n );\n\nexport const addProjectEpic: Epic = (action$, _, { browserHistory }) =>\n action$.pipe(\n ofType(addProject.type),\n switchMap(({ payload }: { payload: CreateOrUpdateProjectDTO }) =>\n from(api.createProject(payload)).pipe(\n switchMap(() => {\n browserHistory.push('/projects');\n\n return of(addProjectSuccess(), showSuccessful({ message: 'projects.success.create' }));\n }),\n catchError(({ response, response: { status } }) =>\n of(addProjectError({ error: response, skipMessage: status === 409 })),\n ),\n ),\n ),\n );\n\nexport const editProjectEpic: Epic = (action$, _, { browserHistory }) =>\n action$.pipe(\n ofType(editProject.type),\n switchMap(({ payload: { projectId, projectData } }) =>\n from(api.updateProject(projectId, projectData)).pipe(\n switchMap(() => {\n browserHistory.push('/projects');\n\n return of(editProjectSuccess(), showSuccessful({ message: 'projects.success.update' }));\n }),\n catchError(({ response, response: { status } }) =>\n of(editProjectError({ error: response, skipMessage: status === 409 })),\n ),\n ),\n ),\n );\n\nexport const getProjectByIdEpic: Epic = (action$, _, { browserHistory }) =>\n action$.pipe(\n ofType(getProjectById.type),\n switchMap(({ payload }) =>\n from(api.getProject(payload)).pipe(\n switchMap(({ data }) => of(getProjectByIdSuccess(data))),\n catchError(({ response }) => {\n browserHistory.push('/projects');\n return of(getProjectByIdError({ error: response }));\n }),\n ),\n ),\n );\n\nexport const getKenticoLanguagesEpic: Epic = (action$) =>\n action$.pipe(\n ofType(getKenticoLanguages.type),\n switchMap(({ payload }) =>\n from(api.getProjectLanguageListByKontentProject(payload)).pipe(\n switchMap(({ data }) => of(getKenticoLanguagesSuccess(data))),\n catchError(({ response }) => {\n return of(getKenticoLanguagesError({ error: response }));\n }),\n ),\n ),\n );\n\n export const parseEntriesEpic: Epic = (action$) =>\n zip(\n action$.ofType(getWebhooksSuccess.type),\n action$.ofType(getWorkflowStepsSuccess.type),\n action$.ofType(getContentTypesSuccess.type),\n action$.ofType(getContentElementsSuccess.type),\n action$.ofType(getKenticoLanguagesSuccess.type),\n action$.ofType(getXtmLanguagesSuccess.type),\n ).pipe(\n mergeMap<\n [\n PayloadAction,\n PayloadAction,\n PayloadAction,\n PayloadAction,\n PayloadAction,\n PayloadAction,\n ],\n any\n >(\n ([\n {payload: webhooks},\n {payload: workflowSteps},\n {payload: contentTypes},\n {payload: contentElements},\n {payload: kenticoLanguages},\n {payload: xtmLanguages},\n ]) => {\n let observer = {\n webhooks,\n workflowSteps,\n contentTypes,\n contentElements,\n kenticoLanguages,\n xtmLanguages,\n }\n return of(allFormObservers(observer))\n }\n )\n );\n\nconst getXtmLanguagesEpic: Epic = (action$) =>\n action$.pipe(\n ofType(getXtmLanguages.type),\n switchMap(() =>\n from(api.getLanguages()).pipe(\n switchMap(({ data }) => {\n return of(getXtmLanguagesSuccess(data));\n }),\n catchError(({ response }) => of(getXtmLanguagesError({ error: response }))),\n ),\n ),\n );\n\nconst getProjectsByClientIdEpic: Epic = (action$) =>\n action$.pipe(\n ofType(GetProjectsByClientId.type),\n switchMap(({ payload: { clientUUID } }) =>\n from(api.getAllProjectsByClientId({ clientUUID })).pipe(\n switchMap(({ data }) => {\n return of(GetProjectsByClientIdSuccess(data));\n }),\n catchError(({ response }) => of(GetProjectsByClientIdError({ error: response }))),\n ),\n ),\n );\n\nexport const projectEpics = combineEpics(\n getProjectsPageableEpic,\n getWebhooksEpic,\n getWorkflowStepsEpic,\n connectToKenticoEpic,\n addProjectEpic,\n editProjectEpic,\n getContentTypesEpic,\n getContentElementsEpic,\n getKenticoLanguagesEpic,\n getXtmLanguagesEpic,\n getApiKeyEpic,\n getProjectByIdEpic,\n getProjectsByClientIdEpic,\n parseEntriesEpic,\n);\n","import { createReducer, isAnyOf } from '@reduxjs/toolkit';\nimport { clearUser, getUsersByClientId } from 'store/user/user.actions';\nimport {\n addProjectError,\n clearProjectErrors,\n connectToKentico,\n connectToKenticoError,\n editProjectError,\n GetProjectsByClientIdSuccess,\n getProjectsPageableSuccess,\n connectToKenticoSuccess,\n getProjectByIdSuccess,\n clearProjectFormAll,\n allFormObservers,\n updateFormProject,\n} from './project.actions';\nimport { IProjectState } from './project.interface';\n\nconst initState: IProjectState = {\n errors: {},\n projectsPageable: undefined,\n project: undefined,\n connectedProjectId: '',\n clientProjects: [],\n selectedClientId: '',\n form: {\n users: [],\n dataFetchedCount: 0,\n webhooks: [],\n workflowSteps: [],\n contentTypes: [],\n contentElements: [],\n xtmLanguages: [],\n kenticoLanguages: [],\n kontentProjectId: '',\n project: undefined,\n }\n};\n\nexport const projectReducer = createReducer(initState, (builder) =>\n builder\n .addCase(getProjectsPageableSuccess, (state, action) => {\n state.projectsPageable = action.payload;\n })\n .addCase(clearProjectErrors, (state) => {\n state.errors = {};\n })\n .addCase(getUsersByClientId, (state, { payload }) => {\n state.selectedClientId = payload;\n state.form.project && (state.form.project.clientUUID = payload)\n })\n .addCase(connectToKentico, (state, { payload: { kontentProjectId } }) => {\n state.connectedProjectId = kontentProjectId;\n })\n .addCase(connectToKenticoError, (state) => {\n state.errors.kenticoConnect = 'projects.errors.connect';\n state.connectedProjectId = '';\n state.form.kontentProjectId = '';\n })\n .addCase(GetProjectsByClientIdSuccess, (state, { payload }) => {\n state.clientProjects = payload;\n })\n .addCase(clearUser, (state) => {\n state.clientProjects = [];\n })\n .addCase(connectToKenticoSuccess, (state, { payload }) => {\n state.form.kontentProjectId = payload.toString() || ''\n })\n .addCase(getProjectByIdSuccess, (state, { payload }) => {\n state.form.project = payload;\n })\n .addCase(clearProjectFormAll, (state) => {\n state.form = initState.form\n })\n .addCase(updateFormProject, (state, { payload }) => {\n state.form.project = payload\n })\n .addCase(allFormObservers, (state, { payload }) => {\n state.form = {...state.form, ...payload}\n })\n .addMatcher(\n isAnyOf(addProjectError, editProjectError),\n (\n state,\n {\n payload: {\n error: { data, status },\n },\n },\n ) => {\n const { errorMessage, errorCode } = Array.isArray(data) ? data[0] : data;\n if (!(errorCode === 'errormessage.kontent.projectId')) {\n const isProjectIdError = errorMessage.includes('Kentico Kontent id') && status === 409;\n\n state.errors = isProjectIdError\n ? { kontentProjectId: 'projects.errors.duplicateId' }\n : { projectName: 'projects.errors.duplicateName' };\n }\n },\n ),\n);\n","export const SpinnerActionTypes = {\n setFetchSpinner: 'SPINNER_SET_LOADER',\n setTemplateSpinner: 'SPINNER_SET_TEMPLATE_LOADER',\n setCustomerSpinner: 'SPINNER_SET_CUSTOMER_LOADER',\n setConnectDataSpinner: 'SPINNER_SET_CONNECT_DATA_LOADER',\n setConnectToXtmSpinner: 'SPINNER_SET_CONNECT_TO_XTM',\n setConnectToCMSSpinner: 'SPINNER_SET_CONNECT_TO_CMS',\n setDefaultUserLanguagesSpinner: 'SPINNER_SET_DEFAULT_USER_LANGUAGES',\n setProjectSpinner: 'SET_PROJECT_SPINNER',\n setKenticoDataSpinner: 'SET_KENTICO_DATA_SPINNER',\n setKenticoConnectSpinner: 'SET_KENTICO_CONNECT_SPINNER',\n};\n","import { createAction } from '@reduxjs/toolkit';\nimport { SpinnerActionTypes } from './spinner.actions.types';\n\nexport const setFetchSpinner = createAction(SpinnerActionTypes.setFetchSpinner);\n\nexport const setTemplateSpinner = createAction(SpinnerActionTypes.setTemplateSpinner);\n\nexport const setCustomerSpinner = createAction(SpinnerActionTypes.setCustomerSpinner);\n\nexport const setConnectDataSpinner = createAction(SpinnerActionTypes.setConnectDataSpinner);\n\nexport const setConnectToXtmSpinner = createAction(SpinnerActionTypes.setConnectToXtmSpinner);\n\nexport const setConnectToCMSSpinner = createAction(SpinnerActionTypes.setConnectToCMSSpinner);\n\nexport const setDefaultUserLanguageSpinner = createAction(SpinnerActionTypes.setDefaultUserLanguagesSpinner);\n\nexport const setProjectSpinner = createAction(SpinnerActionTypes.setProjectSpinner);\n\nexport const setKenticoDataSpinner = createAction(SpinnerActionTypes.setKenticoDataSpinner);\n\nexport const setKenticoConnectSpinner = createAction(SpinnerActionTypes.setKenticoConnectSpinner);\n","import { combineEpics, Epic, ofType } from 'redux-observable';\nimport { of } from 'rxjs';\nimport { debounceTime, switchMap } from 'rxjs/operators';\nimport {\n createAdministrator,\n createAdministratorError,\n createAdministratorSuccess,\n getAdministratorById,\n getAdministratorByIdError,\n getAdministratorByIdSuccess,\n getAdministratorsPageable,\n getAdministratorsPageableError,\n getAdministratorsPageableSuccess,\n} from 'store/administrator/administrator.actions';\nimport {\n createClient,\n createClientError,\n createClientSuccess,\n editClient,\n editClientSuccess,\n getAllClients,\n getAllClientsError,\n getAllClientsSuccess,\n getClientById,\n getClientByIdError,\n getClientByIdSuccess,\n getClientsPageable,\n getClientsPageableError,\n getClientsPageableSuccess,\n} from 'store/client/client.actions';\nimport {\n addProject,\n addProjectError,\n addProjectSuccess,\n connectToKentico,\n connectToKenticoError,\n connectToKenticoSuccess,\n editProject,\n editProjectError,\n editProjectSuccess,\n getApiKey,\n getApiKeyError,\n getApiKeySuccess,\n getContentElements,\n getContentElementsError,\n getContentElementsSuccess,\n getContentTypes,\n getContentTypesError,\n getContentTypesSuccess,\n getProjectById,\n getProjectByIdError,\n getProjectByIdSuccess,\n GetProjectsByClientId,\n GetProjectsByClientIdError,\n GetProjectsByClientIdSuccess,\n getProjectsPageable,\n getProjectsPageableError,\n getProjectsPageableSuccess,\n getWebhooks,\n getWebhooksError,\n getWebhooksSuccess,\n getWorkflowSteps,\n getWorkflowStepsError,\n getWorkflowStepsSuccess,\n} from 'store/project/project.actions';\nimport {\n changePassword,\n changePasswordError,\n changePasswordSuccess,\n changeUserPassword,\n changeUserPasswordError,\n changeUserPasswordSuccess,\n createUser,\n createUserError,\n createUserSuccess,\n editUser,\n editUserSuccess,\n getDefaultUserLanguages,\n getDefaultUserLanguagesError,\n getDefaultUserLanguagesSuccess,\n getUserById,\n getUserByIdError,\n getUserByIdSuccess,\n getUsersByClientId,\n getUsersByClientIdError,\n getUsersByClientIdSuccess,\n loginUser,\n loginUserError,\n loginUserSuccess,\n resetPassword,\n resetPasswordError,\n resetPasswordSuccess,\n resetUserPassword,\n resetUserPasswordError,\n resetUserPasswordSuccess,\n usersPageable,\n usersPageableError,\n usersPageableSuccess,\n xtmConnect,\n xtmConnectError,\n xtmConnectSuccess,\n xtmConnectUser,\n xtmConnectUserError,\n xtmConnectUserSuccess,\n xtmGetConnectData,\n xtmGetConnectDataError,\n xtmGetConnectDataSuccess,\n xtmGetCustomers,\n xtmGetCustomersById,\n xtmGetCustomersByIdError,\n xtmGetCustomersByIdSuccess,\n xtmGetCustomersError,\n xtmGetCustomersSuccess,\n xtmGetTemplates,\n xtmGetTemplatesError,\n xtmGetTemplatesSuccess,\n} from 'store/user/user.actions';\nimport {\n setConnectDataSpinner,\n setConnectToXtmSpinner,\n setCustomerSpinner,\n setDefaultUserLanguageSpinner,\n setFetchSpinner,\n setKenticoConnectSpinner,\n setKenticoDataSpinner,\n setProjectSpinner,\n setTemplateSpinner,\n} from './spinner.actions';\n\nconst fetchSpinnerEpic: Epic = (action$) =>\n action$.pipe(\n ofType(\n createUser.type,\n createUserSuccess.type,\n createUserError.type,\n usersPageable.type,\n usersPageableSuccess.type,\n usersPageableError.type,\n editUser.type,\n editUserSuccess.type,\n getUserById.type,\n getUserByIdSuccess.type,\n getUserByIdError.type,\n createClient.type,\n createClientSuccess.type,\n createClientError.type,\n getClientsPageable.type,\n getClientsPageableError.type,\n getClientsPageableSuccess.type,\n editClient.type,\n editClientSuccess.type,\n getClientById.type,\n getClientByIdError.type,\n getClientByIdSuccess.type,\n getAllClients.type,\n getAllClientsError.type,\n getAllClientsSuccess.type,\n getUsersByClientIdError.type,\n getUsersByClientIdSuccess.type,\n getUsersByClientId.type,\n createAdministrator.type,\n createAdministratorSuccess.type,\n createAdministratorError.type,\n getAdministratorsPageable.type,\n getAdministratorsPageableSuccess.type,\n getAdministratorsPageableError.type,\n getAdministratorById.type,\n getAdministratorByIdSuccess.type,\n getAdministratorByIdError.type,\n loginUser.type,\n loginUserError.type,\n loginUserSuccess.type,\n resetPassword.type,\n resetPasswordError.type,\n resetPasswordSuccess.type,\n changePassword.type,\n changePasswordError.type,\n changePasswordSuccess.type,\n changeUserPassword.type,\n changeUserPasswordError.type,\n changeUserPasswordSuccess.type,\n resetUserPassword.type,\n resetUserPasswordError.type,\n resetUserPasswordSuccess.type,\n getProjectsPageable.type,\n getProjectsPageableSuccess.type,\n getProjectsPageableError.type,\n getContentElements.type,\n getContentElementsSuccess.type,\n getContentElementsError.type,\n ),\n debounceTime(500),\n switchMap(({ type }) => {\n if ((type as string).endsWith('SUCCESS') || (type as string).endsWith('ERROR')) {\n return of(setFetchSpinner(false));\n }\n return of(setFetchSpinner(true));\n }),\n );\n\nconst templateSpinnerEpic: Epic = (actions$) =>\n actions$.pipe(\n ofType(xtmGetTemplates.type, xtmGetTemplatesSuccess.type, xtmGetTemplatesError.type),\n debounceTime(500),\n switchMap(({ type }) => {\n if ((type as string).endsWith('SUCCESS') || (type as string).endsWith('ERROR')) {\n return of(setTemplateSpinner(false));\n }\n return of(setTemplateSpinner(true));\n }),\n );\n\nconst customerSpinnerEpic: Epic = (actions$) =>\n actions$.pipe(\n ofType(\n xtmGetCustomers.type,\n xtmGetCustomersSuccess.type,\n xtmGetCustomersError.type,\n xtmGetCustomersById.type,\n xtmGetCustomersByIdError.type,\n xtmGetCustomersByIdSuccess.type,\n ),\n debounceTime(500),\n switchMap(({ type }) => {\n if ((type as string).endsWith('SUCCESS') || (type as string).endsWith('ERROR')) {\n return of(setCustomerSpinner(false));\n }\n return of(setCustomerSpinner(true));\n }),\n );\n\nconst connectDataSpinnerEpic: Epic = (actions$) =>\n actions$.pipe(\n ofType(xtmGetConnectData.type, xtmGetConnectDataSuccess.type, xtmGetConnectDataError.type),\n debounceTime(500),\n switchMap(({ type }) => {\n if ((type as string).endsWith('SUCCESS') || (type as string).endsWith('ERROR')) {\n return of(setConnectDataSpinner(false));\n }\n return of(setConnectDataSpinner(true));\n }),\n );\n\nconst connectToXtmSpinnerEpic: Epic = (actions$) =>\n actions$.pipe(\n ofType(\n xtmConnect.type,\n xtmConnectError.type,\n xtmConnectSuccess.type,\n xtmConnectUser.type,\n xtmConnectUserError.type,\n xtmConnectUserSuccess.type,\n ),\n debounceTime(500),\n switchMap(({ type }) => {\n if ((type as string).endsWith('SUCCESS') || (type as string).endsWith('ERROR')) {\n return of(setConnectToXtmSpinner(false));\n }\n return of(setConnectToXtmSpinner(true));\n }),\n );\n\nconst defaultUserLanguagesSpinnerEpic: Epic = (actions$) =>\n actions$.pipe(\n ofType(getDefaultUserLanguages.type, getDefaultUserLanguagesSuccess.type, getDefaultUserLanguagesError.type),\n debounceTime(500),\n switchMap(({ type }) => {\n if ((type as string).endsWith('SUCCESS') || (type as string).endsWith('ERROR')) {\n return of(setDefaultUserLanguageSpinner(false));\n }\n return of(setDefaultUserLanguageSpinner(true));\n }),\n );\n\nconst projectSpinnerEpic: Epic = (actions$) =>\n actions$.pipe(\n ofType(\n addProject.type,\n addProjectSuccess.type,\n addProjectError.type,\n editProject.type,\n editProjectSuccess.type,\n editProjectError.type,\n GetProjectsByClientId.type,\n GetProjectsByClientIdSuccess.type,\n GetProjectsByClientIdError.type,\n ),\n debounceTime(500),\n switchMap(({ type }) => {\n if ((type as string).endsWith('SUCCESS') || (type as string).endsWith('ERROR')) {\n return of(setProjectSpinner(false));\n }\n return of(setProjectSpinner(true));\n }),\n );\n\nconst kenticoDataSpinnerEpic: Epic = (actions$) =>\n actions$.pipe(\n ofType(\n getWorkflowSteps.type,\n getWorkflowStepsError.type,\n getWorkflowStepsSuccess.type,\n getWebhooks.type,\n getWebhooksError.type,\n getWebhooksSuccess.type,\n getContentTypesSuccess.type,\n getContentTypesError.type,\n getContentTypes.type,\n getProjectById.type,\n getProjectByIdSuccess.type,\n getProjectByIdError.type,\n ),\n debounceTime(500),\n switchMap(({ type }) => {\n if ((type as string).endsWith('SUCCESS') || (type as string).endsWith('ERROR')) {\n return of(setKenticoDataSpinner(false));\n }\n return of(setKenticoDataSpinner(true));\n }),\n );\n\nconst kenticoConnectSpinnerEpic: Epic = (actions$) =>\n actions$.pipe(\n ofType(\n connectToKentico.type,\n connectToKenticoError.type,\n connectToKenticoSuccess.type,\n getApiKeySuccess.type,\n getApiKeyError.type,\n getApiKey.type,\n ),\n debounceTime(500),\n switchMap(({ type }) => {\n if ((type as string).endsWith('SUCCESS') || (type as string).endsWith('ERROR')) {\n return of(setKenticoConnectSpinner(false));\n }\n return of(setKenticoConnectSpinner(true));\n }),\n );\n\nexport const spinnerEpics = combineEpics(\n fetchSpinnerEpic,\n templateSpinnerEpic,\n connectDataSpinnerEpic,\n connectToXtmSpinnerEpic,\n customerSpinnerEpic,\n defaultUserLanguagesSpinnerEpic,\n kenticoDataSpinnerEpic,\n kenticoConnectSpinnerEpic,\n projectSpinnerEpic,\n);\n","import { createReducer } from '@reduxjs/toolkit';\nimport {\n setConnectDataSpinner,\n setConnectToCMSSpinner,\n setConnectToXtmSpinner,\n setCustomerSpinner,\n setDefaultUserLanguageSpinner,\n setFetchSpinner,\n setTemplateSpinner,\n setProjectSpinner,\n setKenticoDataSpinner,\n setKenticoConnectSpinner,\n} from './spinner.actions';\nimport { ISpinnerState } from './spinner.interface';\n\nconst initState: ISpinnerState = {\n fetchSpinner: false,\n templateSpinner: false,\n customerSpinner: false,\n connectDataSpinner: false,\n connectToXtmSpinner: false,\n connectToCMSSpinner: false,\n defaultUserLanguagesSpinner: false,\n projectSpinner: false,\n kenticoDataSpinner: false,\n kenticoConnectSpinner: false,\n};\n\nexport const spinnerReducer = createReducer(initState, (builder) =>\n builder\n .addCase(setFetchSpinner, (state, action) => {\n state.fetchSpinner = action.payload;\n })\n .addCase(setKenticoDataSpinner, (state, action) => {\n state.kenticoDataSpinner = action.payload;\n })\n .addCase(setKenticoConnectSpinner, (state, action) => {\n state.kenticoConnectSpinner = action.payload;\n })\n .addCase(setTemplateSpinner, (state, action) => {\n state.templateSpinner = action.payload;\n })\n .addCase(setCustomerSpinner, (state, action) => {\n state.customerSpinner = action.payload;\n })\n .addCase(setConnectDataSpinner, (state, action) => {\n state.connectDataSpinner = action.payload;\n })\n .addCase(setConnectToXtmSpinner, (state, action) => {\n state.connectToXtmSpinner = action.payload;\n })\n .addCase(setConnectToCMSSpinner, (state, action) => {\n state.connectToCMSSpinner = action.payload;\n })\n .addCase(setDefaultUserLanguageSpinner, (state, action) => {\n state.defaultUserLanguagesSpinner = action.payload;\n })\n .addCase(setProjectSpinner, (state, action) => {\n state.projectSpinner = action.payload;\n }),\n);\n","import { combineEpics, Epic, ofType } from 'redux-observable';\nimport { EMPTY } from 'rxjs';\nimport { switchMap } from 'rxjs/operators';\nimport store from 'store';\nimport { setPaginationOptions, setPaginationSearch } from './table.actions';\n\nconst getRowsEpic: Epic = (action$, state$) =>\n action$.pipe(\n ofType(setPaginationOptions.type, setPaginationSearch.type),\n switchMap((action) => {\n const {\n dispatchAction,\n paginationOptions: { page, size, order, orderBy, search },\n } = state$.value.table;\n if (dispatchAction) {\n if (action.type !== setPaginationSearch.type) {\n store.dispatch(\n dispatchAction({\n page,\n size,\n search,\n sort: `${orderBy},${order}`,\n }),\n );\n } else {\n store.dispatch(\n setPaginationOptions({\n page: 0,\n size,\n search,\n orderBy,\n order,\n }),\n );\n }\n }\n return EMPTY;\n }),\n );\n\nexport const tableEpics = combineEpics(getRowsEpic);\n","import { createReducer } from '@reduxjs/toolkit';\nimport { OrderDirection } from 'enums/filter';\nimport {\n clearPaginationOptions,\n setPaginationAction,\n setPaginationOptions,\n setPaginationOptionsNoEmit,\n setPaginationSearch,\n setPaginationSearchSpinner\n} from './table.actions';\nimport { ITableState } from './table.interface';\n\nconst initState: ITableState = {\n paginationOptions: {\n page: 0,\n size: 10,\n order: OrderDirection.ASC,\n orderBy: '',\n search: '',\n },\n dispatchAction: undefined,\n searchSpinner: false,\n};\n\nexport const tableReducer = createReducer(initState, (builder) =>\n builder\n .addCase(setPaginationOptions, (state, action) => {\n state.paginationOptions = {\n ...state.paginationOptions,\n ...action.payload,\n };\n })\n .addCase(setPaginationOptionsNoEmit, (state, action) => {\n state.paginationOptions = {\n ...state.paginationOptions,\n ...action.payload,\n };\n })\n .addCase(setPaginationSearch, (state, action) => {\n state.paginationOptions = {\n ...state.paginationOptions,\n search: action.payload,\n };\n state.searchSpinner = true;\n })\n .addCase(setPaginationAction, (state, action) => {\n state.dispatchAction = action.payload;\n })\n .addCase(clearPaginationOptions, (state) => {\n state.paginationOptions = initState.paginationOptions;\n })\n .addCase(setPaginationSearchSpinner, (state, action) => {\n state.searchSpinner = action.payload;\n }),\n);\n","import { combineEpics, Epic, ofType } from 'redux-observable';\nimport { from, of, timer } from 'rxjs';\nimport { catchError, delayWhen, pluck, switchMap, tap } from 'rxjs/operators';\nimport store from 'store';\nimport { showSuccessful } from 'store/notify/notify.actions';\nimport { api, clearToken } from 'utils/axiosInstance';\nimport { AuthenticationResult } from 'utils/restApplicationClient';\nimport i18n from '../../utils/initTranslation';\nimport { setPaginationSearchSpinner } from '../table/table.actions';\nimport {\n changePassword,\n changePasswordError,\n changePasswordSuccess,\n changeUserPassword,\n createUser,\n createUserError,\n createUserSuccess,\n editUser,\n editUserSuccess,\n getDefaultUserLanguages,\n getDefaultUserLanguagesError,\n getDefaultUserLanguagesSuccess,\n getUserById,\n getUserByIdError,\n getUserByIdSuccess,\n getUsersByClientId,\n getUsersByClientIdError,\n getUsersByClientIdSuccess,\n loginUser,\n loginUserError,\n loginUserSuccess,\n logoutUser,\n logoutUserSuccess,\n refreshTokenSuccess,\n resetPassword,\n resetPasswordError,\n resetPasswordSuccess,\n resetUserPassword,\n resetUserPasswordError,\n resetUserPasswordSuccess,\n sessionExpired,\n showSessionExpired,\n usersPageable,\n usersPageableError,\n usersPageableSuccess,\n verifyPassToken,\n verifyPassTokenError,\n verifyPassTokenSuccess,\n verifyToken,\n verifyTokenError,\n xtmConnect,\n xtmConnectError,\n xtmConnectSuccess,\n xtmConnectUser,\n xtmConnectUserError,\n xtmConnectUserSuccess,\n xtmGetConnectData,\n xtmGetConnectDataError,\n xtmGetConnectDataSuccess,\n xtmGetCustomers,\n xtmGetCustomersById,\n xtmGetCustomersByIdError,\n xtmGetCustomersByIdSuccess,\n xtmGetCustomersError,\n xtmGetCustomersSuccess,\n xtmGetTemplates,\n xtmGetTemplatesError,\n xtmGetTemplatesSuccess,\n} from './user.actions';\n\nexport const loginEpic: Epic = (action$) =>\n action$.pipe(\n ofType(loginUser.type),\n switchMap(({ payload }) =>\n from(api.authenticateAdmin(payload)).pipe(\n switchMap(({ data }) => of(loginUserSuccess(data))),\n catchError(({ response }) => {\n return of(loginUserError({ error: response }));\n }),\n ),\n ),\n );\n\nexport const logoutEpic: Epic = (action$, _, { browserHistory }) =>\n action$.pipe(\n ofType(logoutUser.type, verifyTokenError.type),\n tap(() => clearToken()),\n switchMap(() => {\n if (\n browserHistory.location.pathname !== '/changePassword' &&\n !/\\/reset-password\\/.*/.test(browserHistory.location.pathname)\n ) {\n browserHistory.push('/login');\n }\n return of(logoutUserSuccess());\n }),\n );\n\nexport const refreshTokenEpic: Epic = (action$) =>\n action$.pipe(\n ofType(loginUserSuccess.type, refreshTokenSuccess.type),\n pluck('payload'),\n delayWhen(({ ttl = 890 }: AuthenticationResult) => timer((ttl - 10) * 1000)),\n switchMap(() =>\n from(api.refreshToken()).pipe(\n switchMap(({ data }) => {\n return of(refreshTokenSuccess(data));\n }),\n catchError(() => {\n return of(logoutUser());\n }),\n ),\n ),\n );\n\nexport const resetPasswordEpic: Epic = (actions$) =>\n actions$.pipe(\n ofType(resetPassword.type),\n switchMap(({ payload: { email } }) =>\n from(api.sendResetPasswordEmailForAdmin({ email, language: i18n.language })).pipe(\n switchMap(() => {\n store.dispatch(showSuccessful({ message: 'auth.success.resetPasswordSent' }));\n return of(resetPasswordSuccess());\n }),\n catchError(({ response }) => {\n return of(resetPasswordError({ error: response }));\n }),\n ),\n ),\n );\n\nexport const resetUserPasswordEpic: Epic = (actions$) =>\n actions$.pipe(\n ofType(resetUserPassword.type),\n switchMap(({ payload: { email } }) =>\n from(api.sendResetPasswordEmail({ email, language: i18n.language })).pipe(\n switchMap(() => {\n store.dispatch(showSuccessful({ message: 'auth.success.resetPasswordSent' }));\n return of(resetUserPasswordSuccess());\n }),\n catchError(({ response }) => {\n return of(resetUserPasswordError({ error: response }));\n }),\n ),\n ),\n );\n\nexport const verifyTokenEpic: Epic = (actions$) =>\n actions$.pipe(\n ofType(verifyToken.type),\n switchMap(() =>\n from(api.refreshToken()).pipe(\n switchMap(({ data }) => {\n return of(refreshTokenSuccess(data));\n }),\n catchError(() => {\n return of(logoutUser());\n }),\n ),\n ),\n );\n\nexport const changePassEpic: Epic = (action$, state$, { browserHistory }) =>\n action$.pipe(\n ofType(changePassword.type),\n switchMap(({ payload }) =>\n from(api.changePassword(payload)).pipe(\n switchMap(() => {\n store.dispatch(showSuccessful({ message: 'auth.success.changePassword' }));\n browserHistory.push('/login');\n return of(changePasswordSuccess());\n }),\n catchError(({ response }) => of(changePasswordError({ error: response }))),\n ),\n ),\n );\n\nexport const changeUserPassEpic: Epic = (action$) =>\n action$.pipe(\n ofType(changeUserPassword.type),\n switchMap(({ payload }) =>\n from(api.changePassword(payload)).pipe(\n switchMap(() => {\n store.dispatch(showSuccessful({ message: 'auth.success.changePassword' }));\n window.location.href = 'https://app.contentful.com/';\n return of(changePasswordSuccess());\n }),\n catchError(({ response }) => of(changePasswordError({ error: response }))),\n ),\n ),\n );\n\nexport const verifyResetPasswordTokenEpic: Epic = (actions$, state$, { browserHistory }) =>\n actions$.pipe(\n ofType(verifyPassToken.type),\n switchMap(({ payload: token }) =>\n from(api.verifyResetPasswordToken({ token })).pipe(\n switchMap(() => of(verifyPassTokenSuccess())),\n catchError(({ response }) => {\n browserHistory.push('/login');\n return of(verifyPassTokenError({ error: response }));\n }),\n ),\n ),\n );\n\nexport const addUserEpic: Epic = (action$, state$, { browserHistory }) =>\n action$.pipe(\n ofType(createUser.type),\n switchMap(({ payload }) =>\n from(api.createUser(payload)).pipe(\n switchMap(() => {\n store.dispatch(showSuccessful({ message: i18n.t('users.success.create') }));\n browserHistory.push('/users');\n return of(createUserSuccess());\n }),\n catchError(({ response }) => of(createUserError({ error: response }))),\n ),\n ),\n );\n\nexport const getUsersPageableEpic: Epic = (action$) =>\n action$.pipe(\n ofType(usersPageable.type),\n switchMap(({ payload }) =>\n from(api.getAllUsers(payload)).pipe(\n switchMap(({ data }) => {\n store.dispatch(setPaginationSearchSpinner(false));\n return of(usersPageableSuccess(data));\n }),\n catchError(({ response }) => of(usersPageableError({ error: response }), setPaginationSearchSpinner(false))),\n ),\n ),\n );\n\nexport const editUserEpic: Epic = (actions$, state$, { browserHistory }) =>\n actions$.pipe(\n ofType(editUser.type),\n switchMap((res) => {\n return from(api.editUser(res.payload.userId, res.payload.updateUser)).pipe(\n switchMap(() => {\n store.dispatch(showSuccessful({ message: 'users.success.edit' }));\n browserHistory.push('/users');\n return of(editUserSuccess());\n }),\n catchError(({ response }) => of(createUserError({ error: response }))),\n );\n }),\n );\n\nexport const getUserEpic: Epic = (actions$, state$, { browserHistory }) =>\n actions$.pipe(\n ofType(getUserById.type),\n switchMap(({ payload }) => from(api.getUser(payload)).pipe(switchMap(({ data }) => of(getUserByIdSuccess(data))))),\n catchError(({ response }) => {\n browserHistory.push('/users');\n return of(getUserByIdError({ error: response }));\n }),\n );\n\nexport const connectXtmEpic: Epic = (actions$) =>\n actions$.pipe(\n ofType(xtmConnect.type),\n switchMap(({ payload }) =>\n from(api.connectToXtm(payload)).pipe(\n switchMap(({ data }) => of(xtmConnectSuccess(data))),\n catchError(({ response }) => of(xtmConnectError({ error: response }))),\n ),\n ),\n );\n\nexport const connectXtmUserEpic: Epic = (actions$) =>\n actions$.pipe(\n ofType(xtmConnectUser.type),\n switchMap(({ payload }) =>\n from(api.reconnectToXtm(payload.userId, payload.xtmParameters)).pipe(\n switchMap(({ data }) => {\n return of(xtmConnectUserSuccess(data));\n }),\n catchError(({ response }) => of(xtmConnectUserError({ error: response }))),\n ),\n ),\n );\n\nexport const getCustomersEpic: Epic = (actions$) =>\n actions$.pipe(\n ofType(xtmGetCustomers.type, xtmConnectSuccess.type, xtmConnectUserSuccess.type),\n switchMap(({ payload }) =>\n from(\n api.getXTMCustomers$GET$api_xtm_customers({\n xtmAuthId: payload.xtmAuthorizationId,\n }),\n ).pipe(\n switchMap(({ data }) => of(xtmGetCustomersSuccess(data))),\n catchError(({ response }) => of(xtmGetCustomersError({ error: response }))),\n ),\n ),\n );\n\nexport const getTemplatesEpic: Epic = (actions$) =>\n actions$.pipe(\n ofType(xtmGetTemplates.type),\n switchMap(({ payload }) =>\n from(api.getXTMTemplates(payload)).pipe(\n switchMap(({ data }) => of(xtmGetTemplatesSuccess(data))),\n catchError(({ response }) => of(xtmGetTemplatesError({ error: response }))),\n ),\n ),\n );\n\nexport const getCustomersByIdEpic: Epic = (actions$) =>\n actions$.pipe(\n ofType(xtmGetCustomersById.type),\n switchMap(({ payload }) =>\n from(api.getXTMCustomersForExistingUser(payload)).pipe(\n switchMap(({ data }) => of(xtmGetCustomersByIdSuccess(data))),\n catchError(({ response }) => of(xtmGetCustomersByIdError({ error: response }))),\n ),\n ),\n );\n\nexport const getConnectDataEpic: Epic = (actions$) =>\n actions$.pipe(\n ofType(xtmGetConnectData.type),\n switchMap(({ payload }) =>\n from(api.getXTMConnectionParameters(payload)).pipe(\n switchMap(({ data }) => of(xtmGetConnectDataSuccess(data))),\n catchError(({ response }) => of(xtmGetConnectDataError({ error: response }))),\n ),\n ),\n );\n\nexport const showSessionExpiredEpic: Epic = (actions$) =>\n actions$.pipe(\n ofType(sessionExpired.type),\n switchMap(() => of(showSessionExpired())),\n );\n\nexport const getUsersByClientIdEpic: Epic = (actions$) =>\n actions$.pipe(\n ofType(getUsersByClientId.type),\n switchMap(({ payload }) =>\n from(api.getAllUsersList({ clientUUID: payload })).pipe(\n switchMap(({ data }) => of(getUsersByClientIdSuccess(data))),\n catchError(({ response }) => of(getUsersByClientIdError({ error: response }))),\n ),\n ),\n );\n\nconst getDefaultUserLanguagesList: Epic = (actions$) =>\n actions$.pipe(\n ofType(getDefaultUserLanguages.type),\n switchMap(() =>\n from(api.getLanguages()).pipe(\n switchMap(({ data }) => of(getDefaultUserLanguagesSuccess(data))),\n catchError(({ response }) => {\n return of(getDefaultUserLanguagesError({ error: response }));\n }),\n ),\n ),\n );\n\nexport const userEpics = combineEpics(\n loginEpic,\n logoutEpic,\n resetPasswordEpic,\n refreshTokenEpic,\n verifyTokenEpic,\n verifyResetPasswordTokenEpic,\n changePassEpic,\n getUsersPageableEpic,\n addUserEpic,\n getUserEpic,\n editUserEpic,\n connectXtmEpic,\n getCustomersEpic,\n getTemplatesEpic,\n getCustomersByIdEpic,\n getConnectDataEpic,\n showSessionExpiredEpic,\n connectXtmUserEpic,\n resetUserPasswordEpic,\n changeUserPassEpic,\n getUsersByClientIdEpic,\n getDefaultUserLanguagesList,\n);\n","import { createReducer } from '@reduxjs/toolkit';\nimport {\n clearDefaultUserLanguages,\n clearUser,\n clearUserErrors,\n clearXtmTemplates,\n createUserError,\n getAllUsersSuccess,\n getDefaultUserLanguagesSuccess,\n getUserByIdSuccess,\n hideSessionExpired,\n loginUserError,\n loginUserSuccess,\n logoutUserSuccess,\n refreshTokenSuccess,\n showSessionExpired,\n usersPageableSuccess,\n verifyPassTokenError,\n verifyPassTokenSuccess,\n verifyTokenError,\n verifyTokenSuccess,\n xtmConnectError,\n xtmConnectSuccess,\n xtmConnectUserError,\n xtmConnectUserSuccess,\n xtmGetConnectDataSuccess,\n xtmGetCustomersByIdSuccess,\n xtmGetCustomersSuccess,\n xtmGetTemplatesSuccess,\n} from './user.actions';\nimport { IUserState } from './user.interface';\n\nconst initState: IUserState = {\n users: [],\n errors: {},\n auth: false,\n data: undefined,\n verifyFinished: false,\n verifyPassFinished: true,\n usersPageable: undefined,\n user: undefined,\n xtmAuthorizationId: undefined,\n customers: undefined,\n templates: undefined,\n connectData: undefined,\n defaultUserLanguages: undefined,\n sessionExpired: false,\n};\nexport const userReducer = createReducer(initState, (builder) =>\n builder\n .addCase(loginUserSuccess, (state, action) => {\n state.auth = true;\n state.data = action.payload;\n })\n .addCase(loginUserError, (state, action) => {\n if (action.payload) {\n state.errors = { login: 'auth.errors.login' };\n }\n })\n .addCase(verifyTokenSuccess, (state) => {\n state.auth = true;\n state.verifyFinished = true;\n })\n .addCase(verifyTokenError, (state) => {\n state.verifyFinished = true;\n state.auth = false;\n })\n .addCase(refreshTokenSuccess, (state, action) => {\n state.verifyFinished = true;\n state.auth = true;\n state.data = action.payload;\n })\n .addCase(logoutUserSuccess, (state) => {\n state.verifyFinished = true;\n state.auth = false;\n state.data = undefined;\n })\n .addCase(verifyPassTokenSuccess, (state) => {\n state.verifyPassFinished = true;\n })\n .addCase(verifyPassTokenError, (state) => {\n state.verifyPassFinished = true;\n })\n .addCase(getAllUsersSuccess, (state, action) => {\n state.users = action.payload;\n })\n .addCase(createUserError, (state, action) => {\n if (action.payload) {\n state.errors = { email: 'users.errors.duplicate' };\n }\n })\n .addCase(usersPageableSuccess, (state, action) => {\n state.usersPageable = action.payload;\n })\n .addCase(getUserByIdSuccess, (state, action) => {\n state.user = action.payload;\n })\n .addCase(clearUserErrors, (state) => {\n state.errors = {};\n })\n .addCase(clearUser, (state) => {\n state.user = undefined;\n state.xtmAuthorizationId = undefined;\n state.customers = undefined;\n state.templates = undefined;\n state.connectData = undefined;\n })\n .addCase(xtmConnectError, (state) => {\n state.errors.xtmConnect = 'users.errors.connect';\n state.xtmAuthorizationId = undefined;\n })\n .addCase(xtmConnectUserError, (state) => {\n state.errors.xtmConnect = 'users.errors.connect';\n state.xtmAuthorizationId = undefined;\n })\n .addCase(xtmConnectSuccess, (state, { payload: { xtmAuthorizationId } }) => {\n state.xtmAuthorizationId = xtmAuthorizationId;\n })\n .addCase(xtmConnectUserSuccess, (state, { payload: { xtmAuthorizationId } }) => {\n state.xtmAuthorizationId = xtmAuthorizationId;\n })\n .addCase(xtmGetCustomersSuccess, (state, action) => {\n state.customers = action.payload;\n })\n .addCase(xtmGetCustomersByIdSuccess, (state, action) => {\n state.customers = action.payload;\n })\n .addCase(xtmGetTemplatesSuccess, (state, action) => {\n state.templates = action.payload;\n })\n .addCase(xtmGetConnectDataSuccess, (state, action) => {\n state.connectData = action.payload;\n })\n .addCase(clearXtmTemplates, (state) => {\n state.templates = undefined;\n })\n .addCase(getDefaultUserLanguagesSuccess, (state, action) => {\n state.defaultUserLanguages = action.payload;\n })\n .addCase(showSessionExpired, (state) => {\n state.sessionExpired = true;\n })\n .addCase(hideSessionExpired, (state) => {\n state.sessionExpired = false;\n })\n .addCase(clearDefaultUserLanguages, (state) => {\n state.defaultUserLanguages = undefined;\n }),\n);\n","import { configureStore } from '@reduxjs/toolkit';\nimport { CombinedState, combineReducers, Reducer } from 'redux';\nimport { combineEpics, createEpicMiddleware } from 'redux-observable';\nimport { api } from 'utils/axiosInstance';\nimport browserHistory from 'utils/browserHistory';\nimport { administratorEpics } from './administrator/administrator.epics';\nimport { administratorReducer } from './administrator/administrator.reducer';\nimport { clientEpics } from './client/client.epics';\nimport { clientReducer } from './client/client.reducer';\nimport { notifyReducer } from './notify/notify.reducer';\nimport { projectEpics } from './project/project.epics';\nimport { projectReducer } from './project/project.reducer';\nimport { spinnerEpics } from './spinner/spinner.epics';\nimport { spinnerReducer } from './spinner/spinner.reducer';\nimport { tableEpics } from './table/table.epics';\nimport { tableReducer } from './table/table.reducer';\nimport { logoutUserSuccess } from './user/user.actions';\nimport { userEpics } from './user/user.epics';\nimport { userReducer } from './user/user.reducer';\nimport subscribeActionMiddleware from 'redux-subscribe-action';\nimport { IAdministratorState } from './administrator/administrator.interface';\nimport { IClientState } from './client/client.interface';\nimport { INotifyState } from './notify/notify.interface';\nimport { IProjectState } from './project/project.interface';\nimport { ISpinnerState } from './spinner/spinner.interface';\nimport { ITableState } from './table/table.interface';\nimport { IUserState } from './user/user.interface';\nimport { errorEpics } from './error/error.epic';\n\nconst appReducer = combineReducers({\n user: userReducer,\n notify: notifyReducer,\n client: clientReducer,\n project: projectReducer,\n table: tableReducer,\n administrator: administratorReducer,\n spinner: spinnerReducer,\n});\n\nconst rootReducer: Reducer<\n CombinedState<{\n user: IUserState;\n notify: INotifyState;\n client: IClientState;\n project: IProjectState;\n table: ITableState;\n administrator: IAdministratorState;\n spinner: ISpinnerState;\n }>\n> = (state, action) => {\n if (action.type === logoutUserSuccess().type) {\n state = undefined;\n }\n\n return appReducer(state, action);\n};\n\nconst epicMiddleware = createEpicMiddleware({\n dependencies: { browserHistory, api },\n});\n\nconst store = configureStore({\n reducer: rootReducer,\n middleware: [epicMiddleware, subscribeActionMiddleware],\n devTools: process.env.NODE_ENV !== 'production',\n});\n\nepicMiddleware.run(\n combineEpics(userEpics, clientEpics, tableEpics, administratorEpics, spinnerEpics, projectEpics, errorEpics),\n);\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nif (process.env.NODE_ENV !== 'production' && module.hot) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n module.hot.accept('./', () => store.replaceReducer(rootReducer));\n}\n\nexport type AppState = ReturnType;\nexport type AppDispatch = ReturnType;\nexport default store;\n","/** @jsx jsx */\nimport { Global, jsx } from '@emotion/core';\nimport { ThemeProvider } from '@material-ui/core';\nimport * as Sentry from '@sentry/browser';\nimport { mainStyles } from 'main.style';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport { Provider } from 'react-redux';\nimport { theme } from 'theme';\nimport { checkVersion } from 'utils/checkVersion';\nimport { initTranslation } from 'utils/initTranslation';\nimport App from './App';\nimport * as serviceWorker from './serviceWorker';\nimport store from './store';\n\nSentry.init({\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n dsn: (window as any)?._env_?.REACT_APP_SENTRY_DSN || process.env.REACT_APP_SENTRY_DSN,\n environment: process.env.NODE_ENV,\n});\n\nasync function render(): Promise {\n await checkVersion();\n\n initTranslation();\n\n ReactDOM.render(\n \n \n \n \n \n \n \n ,\n document.getElementById('root'),\n );\n}\n\ndocument.addEventListener('DOMContentLoaded', render);\n\n// If you want your app to work offline and load faster, you can change\n// unregister() to register() below. Note this comes with some pitfalls.\n// Learn more about service workers: https://bit.ly/CRA-PWA\nserviceWorker.unregister();\n"],"sourceRoot":""}