{"version":3,"sources":["context/SettingsContext.js","router/Router.js","components/Environment.js","components/NavBar.js","components/PageLayout.js","utils/handlePermissions.js","router/PrivateRoute.js","components/Button.js","components/IconAvatar.js","components/Item.js","components/Module.js","components/PageAvatar.js","components/SubTitle.js","components/AppInfo.js","components/AppAutoInstall.js","pages/Home.js","components/App.js","pages/Apps.js","pages/App.js","pages/AppInstall.js","components/FormaterDataList.js","components/Chip.js","pages/NotFound.js","components/Loading.js","pages/AppEdit.js","components/ProgressiveDataList.js","pages/AppEditAccessRights.js","pages/AppEditAccessRightsAdd.js","pages/AppGetStarted.js","pages/UserConfirm.js","pages/Account.js","utils/getDisplayName.js","pages/Users.js","pages/User/Edit/index.js","pages/User/New/NewLocalUser/ChooseEmailPage.js","pages/User/New/NewLocalUser/GrantAccessPage.js","pages/User/New/NewLocalUser/CreateUserPage.js","pages/User/New/NewLocalUser/index.js","pages/User/New/NewSSOUser.js","pages/User/New/index.js","pages/User/index.js","pages/Groups.js","pages/subpages/EditGroup.js","pages/subpages/NewGroup.js","pages/Group.js","pages/EditGroupUsers.js","pages/EditGroupUsersAdd.js","pages/Organization.js","pages/SSO.js","pages/Workspaces.js","pages/Workspace.js","pages/GroupWorkspaces.js","pages/EditGroupWorkspacesAdd.js","pages/UserGroups.js","pages/UserGroupsAdd.js","pages/Categories.js","pages/subpages/EditCategory.js","pages/subpages/NewCategory.js","pages/Category.js","pages/AppLicensing/index.js","pages/AppLicensing/AppLicensing.js","pages/Licensing/components/Licenses.js","pages/Licensing/components/AccountsRoute.js","pages/Licensing/Main.js","pages/Licensing/components/AddOfflineLicense.js","pages/Licensing/components/AddOnlineLicense.js","pages/Licensing/AddLicense.js","pages/Licensing/License.js","pages/Licensing/index.js","pages/Licensing/Licensing.js","components/AccountsCallback.js","pages/AccountsAuthCallback.js","router/Routes.js","router/index.js","theme.js","data/index.js","data/microserviceAppCategory.js","data/microserviceApp.js","data/availableMicroserviceApp.js","data/group.js","data/availableModuleCategory.js","data/moduleCategory.js","data/timezone.js","data/microserviceAppGroup.js","data/organization.js","data/sso.js","data/userGroups.js","data/groupWorkspaces.js","data/groupUsers.js","data/environments.js","data/licensedUsers.js","data/availableProductKeys.js","data/ssoEnvironment.js","data/environmentLicenses.js","data/accountsEnvironmentLicenses.js","data/microserviceAppPrincipal.js","data/principal.js","components/Dialog/ReleaseOffline.js","components/Dialog/Alert.js","components/Dialog/YesNo.js","components/PasswordTextField.js","components/Rating.js","components/Dialog/ChangePassword.js","components/Dialog/index.js","App.js","serviceWorker.js","index.js","context/AccountsContext.js","utils/accountsAuth.js"],"names":["SettingsContext","React","createContext","SettingsProvider","props","_useState","useState","_useState2","Object","C_a_2_s_Programs_Microservices_Home_home_frontend_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_slicedToArray__WEBPACK_IMPORTED_MODULE_0__","settings","setSettings","useEffect","Utils","request","url","then","response","catch","Error","react__WEBPACK_IMPORTED_MODULE_1___default","a","createElement","Provider","assign","value","useSettings","context","useContext","undefined","history","enhance","createBrowserHistory","basename","process","EnvironmentMenu","_ref","classes","state","theme","userInfo","_React$useState","_React$useState2","slicedToArray","anchorEl","setAnchorEl","open","Boolean","handleClose","react_default","Fragment","ButtonGroup","variant","color","aria-label","Button","onClick","location","pathname","push","className","envButton","lib","NavBar","Environment","environmentText","environmentAvatar","defaultEnvironmentLogo","data","length","multipleEnvs","aria-owns","aria-haspopup","event","currentTarget","size","style","backgroundColor","type","downIcon","Menu","id","anchorOrigin","vertical","horizontal","transformOrigin","onClose","menuEnvironments","MenuItem","disabled","selected","Typography","view","isLoading","map","environment","key","name","window","environmentName","Grid","container","alignItems","wrap","spacing","item","logo","Avatar","src","alt","environmentLogoWrapper","xs","noWrap","withStyles","createStyles","borderRight","padding","fontSize","typography","height","width","marginTop","marginRight","&:hover","&:active","lineHeight","concat","common","Page","fontWeight","& > *","& .MuiMenu-list","withTheme","withUserInfo","withRouter","_ref2","dataType","itemsPerPage","_ref3","Environment_EnvironmentMenu","AnchorLink","href","rest","objectWithoutProperties","Link","to","replace","useStyles","makeStyles","helpMenu","float","&:active, &:focus","helpMenuDot","borderRadius","marginLeft","display","justifyContent","position","top","transform","helpMenuDotWrapper","&:before","content","left","bottom","borderLeft","marginBottom","&:after","right","withManifest","userBoxText","userBoxPicture","direction","zIndex","boxShadow","components_Environment","flexGrow","parsed","parseUrl","search","query","startsWith","return","returnTo","textAlign","cursor","component","User","linkComponent","HelpMenu","PageLayout","children","maxWidth","title","titleVariant","navBarType","permissions","userName","some","p","indexOf","handlePermissions","status","error","getPrettyError","react_document_title_default","Common","navBarHidden","toolBarHidden","margin","justify","md","defaultProps","PrivateRoute","renderRoute","Component","_this","_this$props","this","auth","Route","render","PrimaryButton","text","IconAvatar","icon","iconAvatar","border","AdapterLink","forwardRef","ref","innerRef","Item","label","secondaryLabel","iconURL","iconType","letterAvatar","onDelete","onRemove","tooltip","labelColor","renderListItems","ListItem","button","root","focusVisible","rootFocusVisible","rootButton","ListItemAvatar","itemAvatar","appAvatarRebranding","ListItemIcon","components_IconAvatar","LetterAvatar","ListItemText","primary","secondary","primaryTypographyProps","secondaryTypographyProps","fontStyle","ListItemSecondaryAction","click","hoverable","tooltipPlacement","Tooltip","TransitionComponent","Zoom","placement","minHeight","paddingRight","paddingLeft","action","getSecondaryLabel","app","MicroserviceAppInstallation","Instalation","Status","getRedirect","RedirectURL","MicroserviceAppManifest","HomeURL","Module","moduleName","columnsCount","dataProps","category","refreshInterval","CircularProgress","paddingBottom","paddingTop","borderBottom","apps","result","itemsPerColumn","Math","ceil","column","index","element","processApps","List","components_Item","Id","Name","IconURL","PageAvatar","appAvatar","floor","SIZE","SubTitle","includedInFormFragment","subTitleFormFragment","subTitle","sanitizer","dompurify","sanitize","appId","renderContent","manifest","contentPadding","useMediaQuery","breakpoints","down","components_SubTitle","components_PageAvatar","dangerouslySetInnerHTML","__html","Description","unavailableType","States","find","s","Type","toLowerCase","getState","Actions","components_Button","Url","Caption","renderAction","renderActions","AppAutoInstall","appName","initialRequest","hasErrorsInitialRequest","initialRequestError","installing","hasInstallingErrors","instalationError","installation","setInstallation","loadApp","canInstall","canAutoInstall","prevState","objectSpread","method","Groups","Category","onFinishInstall","onFailInstall","body","Message","onDataError","renderHeader","LinearProgress","components_AppInfo","pageProps","getMd","m","AppsCount","Columns","getColumnsCount","getSearchParams","_userInfo$permissions","components_PageLayout","components_AppAutoInstall","includes","outline","components_Module","App","appCaption","appCaptionPicture","appCaptionText","Upgrade","Version","Box","ml","verticalAlign","appDescription","minWidth","navigateToApp","FILTER_OPTIONS","categoryName","buttonProps","ManageApps","options","searchIn","DataList","createDataOptionValue","filter","DataFilter","createFromLocation","components_App","match","params","formGridProps","FormLabel","htmlFor","required","Fields","DataSelect","multi","group","_ref4","onValidate","errors","submitLabel","submittingLabel","defaultValue","DefaultInstallCategory","findIndex","c","PrincipalIds","DefaultPrincipals","PrincipalId","dataItemProps","bind","onSuccess","payload","redirectUrl","onCancel","FormaterDataList","maxCount","separator","renderMore","fallback","actionLabel","actionClick","whiteSpace","t","idx","count","Chip","chip","NotFound","Loading","disableShrink","pageLoading","setPageLoading","_useState3","_useState4","appEntity","setAppEntity","removeApp","DataAction","delete","useConfirmation","renderMorePrincipalsItems","moreNumber","renderPrincipalItem","principal","components_Chip","PrincipalType","DisplayName","encodeURIComponent","components_Loading","values","Modals","TYPES","CONFIRMATION","message","onConfirm","components_FormaterDataList","CoreFunctionality","renderFooterLeft","availableType","renderFooter","pages_NotFound","ProgressiveDataList","useWindow","getScrollParent","pageStart","page","setPage","isFetching","setIsFetching","containerRef","useRef","regex","getScrollElement","scrollparent","node","document","test","scroll","parentNode","current","handleScroll","scrollElement","scrollHeight","scrollTop","clientHeight","prop","getComputedStyle","getPropertyValue","addEventListener","removeEventListener","dataLists","i","localPage","AppEditAccessRights","components_ProgressiveDataList","AppEditAccessRightsAdd","renderForm","include","UserConfirm","onSave","isUsernameChanged","isCurrentUser","Promise","resolve","reject","deleteAvatarButtonProps","avatar","avatarContainer","& div","&:focus","withAuth","logoutUser","loading","setLoading","ssoEnabled","setSSOEnabled","_useState5","_useState6","editProfileURL","setEditProfileURL","_useState7","_useState8","hasAvatar","setHasAvatar","_useState9","_useState10","refreshAvatar","setRefreshAvatar","getDisplayName","firstName","lastName","sso","EditProfileUrl","confirmSubmit","Email","submitDisabled","LocalFile","preview","accept","maxSize","file","getPageAvatar","sm","user","UserName","ProfileImage","FirstName","LastName","res","renderMoreGroupItems","renderGroupItem","Enabled","AutoGenerate","submitAlign","displayName","date","diffM","Date","diffH","diffD","round","getDateDiff","LastLogIn","Checkbox","email","setEmail","setCreateNewUser","environments","e","yes","no","back","esm_Chip_Chip","SendEmailInvitation","Invite","notVisible","autocomplete","Password","UserPassword","ConfirmPassword","Condition","when","is","autoComplete","NewLocalUser","createNewUser","NewLocalUser_CreateUserPage","NewLocalUser_GrantAccessPage","NewLocalUser_ChooseEmailPage","SSO","NewUser","NewSSOUser","New_NewLocalUser","Edit","New","groupName","fromDisabled","renderMoreWorkspaceItems","renderWorkspaceItem","workspace","WorkspaceName","renderMoreUsersItems","renderUserItem","fieldStyle","subpages_EditGroup","subpages_NewGroup","deleteLogoButtonProps","organizationAvatar","organizationAvatarContainer","organizationLogoWrapper","organizationLogo","hasLogo","setHasLogo","refreshLogo","setRefreshLogo","CloudDeployment","formMapProps","environmentId","setEnvironmentId","setIsLoading","ACSURLRef","openTestPage","FormatedWebsiteURL","getACSURL","validateMappings","Array","isArray","mappingsDoneCount","keys","val","EOSField","forEach","input","SSOField","select","Set","Mappings","EnvironmentId","URL","LogOutURL","X509Certificate","ACSURL","EnvironmentLogo","MultiSelect","Text","inputRef","copyToClipboard","rows","rowsMax","FieldArray","validate","fields","remove","workspaceId","groupWorkspace","AccessPermission","Categories","goBack","Number","placeholder","Order","subpages_EditCategory","subpages_NewCategory","AppLicensing","online","token","useAccountsAuth","forceRefresh","setForceRefresh","getDescription","license","description","dateStr","MaintenanceExpirationDate","month","getMonth","getDate","getFullYear","AssignedTo","UsersCount","ProductKeyId","hasExpired","getQueryParameters","encodedCurrentReturnUrl","encodedReturnUrl","Key","accountToken","offline","productKeyId","accountsUrl","AccountsRoute","routePath","_useAccountsAuth","isAuthenticated","signIn","setOnline","components_AccountsRoute","Licenses","offlineRequestKey","setOfflineRequestKey","keyPreview","Input","multiline","readOnly","AddOnlineLicense","AddOfflineLicense","keyId","licensedUsers","Licensing","Switch","router_PrivateRoute","path","exact","Main","AddLicense","License","AccountsCallback","handleAuthentication","Redirect","AccountsAuthCallback","components_AccountsCallback","Routes","Home","Apps","AppInstall","AppEdit","AppGetStarted","Account","Users","Group","EditGroupUsers","EditGroupUsersAdd","route","Organization","Workspaces","GroupWorkspaces","Workspace","EditGroupWorkspacesAdd","UserGroups","UserGroupsAdd","Router","copyright","reloadBackendInfo","Form","palette","overrides","MuiFilledInput","&:-webkit-autofill","WebkitBoxShadow","WebkitTextFillColor","MuiButton","outlined","MuiIcon","MuiAvatar","MuiFormControl","MuiInputLabel","shrink","MuiTextField","src_data","microserviceAppCategory","dataKey","idKeyProp","placeholders","microserviceApp","createItemUrl","itemUrl","onBeforeRequest","config","split","join","deleting","availableMicroserviceApp","filterUrlKey","idsOperator","availableModuleCategory","moduleCategory","timezone","microserviceAppGroup","deleteItemUrl","_config$dataProps","organization","extends","userGroups","groupWorkspaces","groupUsers","onAfterResponse","responseBody","Data","TotalCount","availableProductKeys","ssoEnvironment","environmentLicenses","accountsEnvironmentLicenses","EndDate","microserviceAppPrincipal","ReleaseOfflineDialog","uninstallKey","setUninstallKey","setError","loadingIndicator","target","rel","preventWindowClosing","footerButtons","submit","cancel","leftAction","confirmationButtonLabel","Alert","header","YesNo","messages","PasswordTextField","onChange","showPassword","setShowPassword","TextField","fullWidth","InputProps","endAdornment","InputAdornment","onMouseDown","preventDefault","Rating","score","setColor","ContentForm","handleSubmit","setOldPassword","oldPassword","newPassword","setNewPassword","submitting","scorePassword","pass","letters","variations","digits","lower","upper","nonWords","variationCount","check","components_PasswordTextField","components_Rating","password","getPasswordText","Dialog","RELEASE_OFFLINE","ALERT","AlertDialog","YES_NO","CHANGE_PASSWORD","setSubmitting","onFailChangePassword","errorMessage","onChangePassword","OldUserName","Entity","OldPassword","NewPassword","ChangePassword_ContentForm","router","dataTypes","modals","AccountsContext","router_Routes","isLocalhost","hostname","registerValidSW","swUrl","navigator","serviceWorker","register","registration","onupdatefound","installingWorker","onstatechange","controller","console","log","onUpdate","ReactDOM","src_App","getElementById","origin","fetch","contentType","headers","get","ready","unregister","reload","checkValidServiceWorker","expiresAt","getRedirectUrl","urlRoot","protocol","port","AccountsProvider","setToken","setAuth","Auth","loginUrl","redirectUri","getTime","authResult","accountsToken","arguments","authorize","redirectParams","C_a_2_s_Programs_Microservices_Home_home_frontend_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_objectSpread__WEBPACK_IMPORTED_MODULE_0__","MAX_VALUE","stringifySearchParams","searchParams","_i","_Object$keys","ssoSearch","redirect-url"],"mappings":"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","file":"static/js/main.f170a0e6.chunk.js","sourcesContent":["import React, { useState, useEffect } from 'react';\r\nimport { Utils } from 'ecrion-components';\r\n\r\nconst SettingsContext = React.createContext();\r\n\r\nfunction SettingsProvider(props) {\r\n const [settings, setSettings] = useState(null);\r\n\r\n useEffect(() => {\r\n function loadEnvironmentSettings(response) {\r\n if (response) setSettings(response[0]);\r\n }\r\n\r\n function errorEnvironmentSettings(response) {\r\n setSettings({ Error: response });\r\n }\r\n\r\n Utils.request({\r\n url: '/backend/environmentSettings',\r\n })\r\n .then(loadEnvironmentSettings)\r\n .catch(errorEnvironmentSettings);\r\n }, []);\r\n\r\n return ;\r\n}\r\n\r\nfunction useSettings() {\r\n const context = React.useContext(SettingsContext);\r\n if (context === undefined)\r\n throw new Error('useSettings must be used within a SettingsProvider');\r\n\r\n return context;\r\n}\r\n\r\nexport { SettingsProvider, useSettings };\r\n","import React from 'react';\r\nimport { Router as BrowserRouter } from 'react-router-dom';\r\nimport { createBrowserHistory } from 'history';\r\nimport { Utils } from 'ecrion-components';\r\n\r\nconst history = Utils.history.enhance(\r\n createBrowserHistory({\r\n basename: process.env.REACT_APP_BASE_PATH,\r\n })\r\n);\r\nexport default function Router({ children }) {\r\n return {children};\r\n}\r\n","//@ts-check\r\nimport React from \"react\";\r\nimport { Icon, Page } from \"ecrion-components\";\r\nimport Grid from \"@material-ui/core/Grid\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport Typography from \"@material-ui/core/Typography\";\r\nimport {\r\n Button,\r\n Menu,\r\n MenuItem,\r\n withStyles,\r\n createStyles,\r\n Avatar,\r\n ButtonGroup,\r\n} from \"@material-ui/core\";\r\nimport { DataList, withUserInfo } from \"ecrion-components\";\r\n\r\nconst EnvironmentMenu = ({ classes, theme, state, userInfo, history }) => {\r\n const [anchorEl, setAnchorEl] = React.useState(null);\r\n const open = Boolean(anchorEl);\r\n\r\n function handleMenu(event) {\r\n setAnchorEl(event.currentTarget);\r\n }\r\n\r\n const handleClick = (url) => () => {\r\n setAnchorEl(null);\r\n window.location = url;\r\n };\r\n\r\n const handleClose = () => {\r\n setAnchorEl(null);\r\n };\r\n\r\n const redirectHome = () => {\r\n if (history.location.pathname === \"/\") return;\r\n\r\n setAnchorEl(null);\r\n history.push(\"/\");\r\n };\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n {state.data.length > 1 && (\r\n 1 ? handleMenu : null}\r\n color=\"inherit\"\r\n size=\"small\"\r\n variant=\"text\"\r\n style={{\r\n backgroundColor: \"#FFF\",\r\n }}\r\n >\r\n \r\n \r\n )}\r\n \r\n \r\n {state.data.length === 1 && (\r\n \r\n \r\n {state.view.isLoading ? \"Loading...\" : \"No other environments\"}\r\n \r\n \r\n )}\r\n {state.data.length > 1 &&\r\n state.data.map((environment) => (\r\n \r\n \r\n \r\n {environment.logo ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n \r\n \r\n {environment.name}\r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n \r\n );\r\n};\r\n\r\nconst Environment = ({ classes, theme, userInfo, history }) => {\r\n return (\r\n
\r\n \r\n {({ state }) => (\r\n \r\n )}\r\n \r\n
\r\n );\r\n};\r\n\r\nconst styles = (theme) =>\r\n createStyles({\r\n envButton: {\r\n borderRight: \"0px solid transparent !important\",\r\n padding: \"0px\",\r\n },\r\n environmentText: {\r\n fontSize: theme.typography.fontSize,\r\n },\r\n environmentAvatar: {\r\n height: theme.spacing(4),\r\n width: theme.spacing(4),\r\n },\r\n environmentLogoWrapper: {\r\n height: \"20px\",\r\n marginTop: \"3px\",\r\n marginRight: \"3px\",\r\n },\r\n multipleEnvs: {\r\n \"&:hover\": {\r\n backgroundColor: \"#F3F5F7 !important\",\r\n },\r\n \"&:active\": {\r\n backgroundColor: \"#E0E5EB !important\",\r\n },\r\n },\r\n downIcon: {\r\n fontSize: theme.typography.fontSize,\r\n lineHeight: `${theme.common.Page.NavBar.style.height}px`,\r\n color: \"#000000\",\r\n fontWeight: \"bold\",\r\n },\r\n defaultEnvironmentLogo: {\r\n \"& > *\": {\r\n fontSize: \"1.5rem\",\r\n },\r\n },\r\n menuEnvironments: {\r\n \"& .MuiMenu-list\": {\r\n backgroundColor: \"#FFFFFF\"\r\n }\r\n }\r\n });\r\n\r\nexport default withStyles(styles, { withTheme: true })(\r\n withUserInfo(withRouter(Environment))\r\n);\r\n","//@ts-check\r\nimport React from \"react\";\r\nimport { withManifest, Icon, Page } from \"ecrion-components\";\r\nimport Grid from \"@material-ui/core/Grid\";\r\nimport { withRouter, Link } from \"react-router-dom\";\r\nimport { withStyles, createStyles, Typography } from \"@material-ui/core\";\r\nimport Environment from \"./Environment\";\r\nimport { Utils } from \"ecrion-components\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\n\r\nconst AnchorLink = ({ href, ...rest }) => (\r\n \r\n);\r\n\r\nconst HomeNavBar = (props) => (\r\n \r\n \r\n \r\n \r\n {props.type === \"closable\" ? (\r\n <>\r\n \r\n \r\n {\r\n const parsed = Utils.url.parseUrl(window.location.search).query;\r\n if (\r\n parsed &&\r\n parsed[\"returnUrl\"] &&\r\n (parsed[\"returnUrl\"].startsWith(\"http://\") ||\r\n parsed[\"returnUrl\"].startsWith(\"https://\"))\r\n ) {\r\n window.location.href = parsed[\"returnUrl\"];\r\n } else props.history.return(props.returnTo);\r\n }}\r\n />\r\n \r\n \r\n ) : (\r\n <>\r\n \r\n \r\n EngageCX\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n )}\r\n
\r\n);\r\n\r\nconst styles = (theme) =>\r\n createStyles({\r\n userBoxText: {\r\n fontSize: theme.typography.fontSize,\r\n },\r\n userBoxPicture: {\r\n \"& > *\": {\r\n height: 24,\r\n width: 24,\r\n fontSize: 12,\r\n },\r\n },\r\n });\r\n\r\n const useStyles = makeStyles((theme) =>\r\n createStyles({\r\n helpMenu: {\r\n color: theme.common.Page.NavBar.style.color,\r\n float: \"right\",\r\n '&:hover': {\r\n backgroundColor: '#F3F5F7',\r\n },\r\n '&:active, &:focus': {\r\n backgroundColor: '#E0E5EB',\r\n },\r\n },\r\n helpMenuDot: {\r\n backgroundColor: '#E0E5EB',\r\n borderRadius: '50%',\r\n width: '24px',\r\n height: '24px',\r\n marginLeft: '8px',\r\n display: 'flex',\r\n justifyContent: 'center',\r\n position: 'absolute',\r\n top: '50%',\r\n transform: 'translateY(-50%)',\r\n '&:active, &:focus': {\r\n backgroundColor: '#FFF',\r\n },\r\n },\r\n helpMenuDotWrapper : {\r\n height: '50px',\r\n width: '40px',\r\n position: 'relative',\r\n '&:before': {\r\n position: 'absolute',\r\n height: '60%',\r\n content: '\"\"',\r\n left: '0',\r\n bottom: '0',\r\n borderLeft: '1px solid rgb(211, 211, 211)',\r\n marginBottom: '10px',\r\n },\r\n '&:after': {\r\n position: 'absolute',\r\n height: '60%',\r\n content: '\"\"',\r\n right: '0',\r\n bottom: '0',\r\n borderRight: '1px solid rgb(211, 211, 211)',\r\n marginBottom: '10px',\r\n },\r\n },\r\n })\r\n );\r\n\r\nexport default withManifest(withStyles(styles)(withRouter(HomeNavBar)));\r\n","//@ts-check\r\nimport React from \"react\";\r\nimport DocumentTitle from \"react-document-title\";\r\nimport { Grid, Typography } from \"@material-ui/core\";\r\nimport NavBar from \"../components/NavBar\";\r\nimport { withUserInfo, Page, Utils } from \"ecrion-components\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport { handlePermissions } from \"../utils/handlePermissions\";\r\nimport { useSettings } from \"../context/SettingsContext\";\r\n\r\n/**\r\n * @typedef {object} Props\r\n * @property {React.ReactNode} children\r\n * @property {number} maxWidth\r\n * @property {string} title\r\n * @property {\"h6\" | \"button\" | \"caption\" | \"h1\" | \"h2\" | \"h3\" | \"h4\" | \"h5\" | \"inherit\" | \"overline\" | \"subtitle1\" | \"subtitle2\" | \"body1\" | \"body2\" | \"srOnly\" } titleVariant\r\n * @property {'default' | 'closable'} navBarType\r\n * @property {string} returnTo\r\n * @property {'small' | 'large'} variant\r\n * @property {object} history\r\n * @property {object} userInfo\r\n * @property {object} permissions\r\n *\r\n * @param {Props} props\r\n */\r\nconst PageLayout = ({\r\n children,\r\n maxWidth,\r\n title,\r\n titleVariant,\r\n navBarType,\r\n returnTo,\r\n variant,\r\n history,\r\n userInfo,\r\n permissions,\r\n}) => {\r\n handlePermissions(userInfo, history, permissions);\r\n const settings = useSettings();\r\n\r\n if (settings && settings.Error && settings.Error.response) {\r\n const { status } = settings.Error;\r\n const error = Utils.getPrettyError(settings.Error);\r\n\r\n return (\r\n \r\n \r\n \r\n
\r\n {status === 402\r\n ? \"Your trial has expired.\"\r\n : `Organization could not be loaded. Error: ${error}`}\r\n
\r\n Please contact{\" \"}\r\n \r\n Ecrion Support\r\n \r\n .\r\n \r\n
\r\n );\r\n } else {\r\n return (\r\n \r\n \r\n \r\n \r\n {(() => {\r\n if (title !== \"EngageCX\") {\r\n return (\r\n \r\n {title}\r\n \r\n );\r\n }\r\n })()}\r\n \r\n {variant === \"small\" ? (\r\n \r\n \r\n \r\n {children}\r\n \r\n \r\n \r\n ) : (\r\n children\r\n )}\r\n \r\n \r\n \r\n );\r\n }\r\n};\r\n\r\nPageLayout.defaultProps = {\r\n maxWidth: 1100,\r\n navBarType: \"default\",\r\n titleVariant: \"h6\",\r\n variant: \"large\",\r\n permissions: [\"ManageEnvironment\"],\r\n returnTo: \"/\",\r\n};\r\n\r\nexport default withRouter(withUserInfo(PageLayout));\r\n","export const handlePermissions = (userInfo, history, permissions) => {\r\n if (!userInfo) return;\r\n\r\n if (!userInfo.permissions || !userInfo.userName) return;\r\n\r\n if (\r\n permissions &&\r\n permissions.length > 0 &&\r\n !permissions.some(p => userInfo.permissions.indexOf(p) > -1)\r\n )\r\n history.replace('/');\r\n};\r\n","import React from \"react\";\r\nimport { Route } from \"react-router-dom\";\r\nimport Authorize from \"../pages/Unauthorized\";\r\n// import { withAuth } from 'ecrion-components';\r\n\r\nclass PrivateRoute extends React.Component {\r\n renderRoute = (props) => {\r\n const { component: Component } = this.props;\r\n\r\n // show authorize page if something goes wrong\r\n // if (!auth.token || !!auth.error) return ;\r\n\r\n return ;\r\n };\r\n\r\n render() {\r\n const { component, auth, ...rest } = this.props;\r\n\r\n return ;\r\n }\r\n}\r\n\r\nPrivateRoute.propTypes = Route.propTypes;\r\n\r\n// const PrivateRouteAuth = withAuth(PrivateRoute);\r\n\r\nexport default PrivateRoute;\r\n","import React from 'react';\r\nimport Button from '@material-ui/core/Button';\r\n\r\nconst PrimaryButton = ({ children, ...rest }) => {\r\n let text = typeof children === 'string' ? children : '';\r\n\r\n let variant = rest.variant || 'contained';\r\n let color = rest.color || (variant === 'contained' ? 'primary' : 'inherit');\r\n\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default PrimaryButton;\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { Icon } from \"ecrion-components\";\r\n\r\nconst SIZE = \"32px\";\r\n\r\nconst IconAvatar = ({ icon, color, classes }) => {\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nIconAvatar.defaultProps = {};\r\n\r\nIconAvatar.propTypes = {\r\n /** Specify a text to be added to letter avatar */\r\n icon: PropTypes.string.isRequired,\r\n classes: PropTypes.object,\r\n color: PropTypes.string,\r\n};\r\n\r\nexport default IconAvatar;\r\n","//@ts-check\r\nimport React from \"react\";\r\nimport {\r\n ListItem,\r\n ListItemAvatar,\r\n ListItemText,\r\n ListItemIcon,\r\n Avatar,\r\n ListItemSecondaryAction,\r\n Tooltip,\r\n} from \"@material-ui/core\";\r\nimport { withStyles } from \"@material-ui/core/styles\";\r\nimport PropTypes from \"prop-types\";\r\nimport { Icon, Formatter } from \"ecrion-components\";\r\nimport { Link } from \"react-router-dom\";\r\nimport IconAvatar from \"./IconAvatar\";\r\nimport Zoom from \"@material-ui/core/Zoom\";\r\n\r\nconst AdapterLink = React.forwardRef((props, ref) => {\r\n const { to, ...rest } = props;\r\n\r\n if (to.startsWith(\"http://\") || to.startsWith(\"https://\"))\r\n // eslint-disable-next-line\r\n return ;\r\n\r\n return ;\r\n});\r\n\r\nconst styles = (theme) => ({\r\n root: {\r\n height: \"auto\",\r\n minHeight: theme.spacing(7),\r\n padding: theme.spacing(1),\r\n paddingRight: theme.spacing(4),\r\n paddingLeft: theme.spacing(4),\r\n cursor: \"pointer\",\r\n },\r\n rootFocusVisible: {\r\n backgroundColor: \"transparent\",\r\n },\r\n rootButton: {\r\n \"&:hover\": {\r\n backgroundColor: \"#F3F5F7\",\r\n },\r\n \"&:active\": {\r\n backgroundColor: \"#E0E5EB\",\r\n },\r\n },\r\n itemAvatar: {\r\n height: theme.spacing(4),\r\n width: theme.spacing(4),\r\n fontSize: \"1em\",\r\n \"& > *\": {\r\n height: theme.spacing(4),\r\n width: theme.spacing(4),\r\n fontSize: \"1em\",\r\n },\r\n },\r\n appAvatarRebranding: {\r\n borderRadius: \"5% !important\",\r\n },\r\n action: {\r\n right: theme.spacing(2),\r\n },\r\n letterAvatar: {\r\n height: theme.spacing(4),\r\n width: theme.spacing(4),\r\n fontSize: \"1em\",\r\n },\r\n});\r\n\r\nconst Item = ({\r\n classes,\r\n to,\r\n label,\r\n secondaryLabel,\r\n iconURL,\r\n iconType,\r\n letterAvatar,\r\n onDelete,\r\n onRemove,\r\n tooltip,\r\n labelColor,\r\n}) => {\r\n const renderListItems = () => {\r\n return (\r\n \r\n {iconURL && (\r\n \r\n \r\n \r\n )}\r\n {iconType && (\r\n \r\n \r\n \r\n )}\r\n {letterAvatar && (\r\n \r\n \r\n \r\n )}\r\n \r\n {onDelete && (\r\n \r\n \r\n \r\n )}\r\n {onRemove && (\r\n \r\n \r\n \r\n )}\r\n \r\n );\r\n };\r\n\r\n if (tooltip)\r\n return (\r\n \r\n {renderListItems()}\r\n \r\n );\r\n\r\n return renderListItems();\r\n};\r\n\r\nItem.defaultProps = {\r\n secondaryLabel: \"\",\r\n iconURL: undefined,\r\n iconType: undefined,\r\n labelColor: \"inherit\",\r\n};\r\n\r\nItem.propTypes = {\r\n /** */\r\n to: PropTypes.string.isRequired,\r\n\r\n label: PropTypes.string.isRequired,\r\n\r\n iconURL: PropTypes.string,\r\n\r\n iconType: PropTypes.string,\r\n\r\n letterAvatar: PropTypes.string,\r\n\r\n onDelete: PropTypes.object,\r\n onRemove: PropTypes.object,\r\n\r\n labelColor: PropTypes.string,\r\n\r\n secondaryLabel: PropTypes.string,\r\n tooltip: PropTypes.string,\r\n};\r\n\r\nexport default withStyles(styles, { withTheme: true })(Item);\r\n","//@ts-check\r\nimport React from \"react\";\r\nimport { Grid, Typography, List, CircularProgress } from \"@material-ui/core\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport { DataList } from \"ecrion-components\";\r\nimport Item from \"./Item\";\r\n\r\n/**\r\n * @typedef {object} Props\r\n * @property {string} moduleName\r\n * @property {int} columnsCount\r\n *\r\n **/\r\n\r\nfunction processApps(columnsCount, apps) {\r\n let result = [];\r\n const itemsPerColumn = Math.ceil(apps.length / columnsCount);\r\n\r\n let column = [];\r\n\r\n for (let index = 0; index < apps.length; index++) {\r\n const element = apps[index];\r\n\r\n column.push(element);\r\n\r\n if (column.length === itemsPerColumn) {\r\n result.push(column);\r\n column = [];\r\n }\r\n }\r\n\r\n if (column.length > 0) result.push(column);\r\n\r\n return result;\r\n}\r\n\r\nfunction getSecondaryLabel(app) {\r\n if (app.MicroserviceAppInstallation)\r\n if (\r\n app.MicroserviceAppInstallation.Instalation.Status === \"Installing\" ||\r\n app.MicroserviceAppInstallation.Instalation.Status === \"Uninstalling\"\r\n )\r\n return `${app.MicroserviceAppInstallation.Instalation.Status}...`;\r\n return \"\";\r\n}\r\n\r\nfunction getRedirect(app) {\r\n if (app.MicroserviceAppInstallation)\r\n if (app.MicroserviceAppInstallation.Instalation.RedirectURL)\r\n return app.MicroserviceAppInstallation.Instalation.RedirectURL;\r\n return app.MicroserviceAppManifest.HomeURL;\r\n}\r\n\r\nconst Module = ({ moduleName, columnsCount }) => {\r\n return (\r\n \r\n {({ state }) =>\r\n state.view.isLoading ? (\r\n
\r\n \r\n
\r\n ) : state.data.length === 0 ? (\r\n
\r\n No apps installed.\r\n
\r\n ) : (\r\n \r\n \r\n \r\n {moduleName}\r\n \r\n \r\n \r\n \r\n {processApps(columnsCount, state.data).map((column, index) => (\r\n \r\n \r\n {column.map((app) => (\r\n \r\n ))}\r\n \r\n \r\n ))}\r\n \r\n \r\n \r\n )\r\n }\r\n \r\n );\r\n};\r\n\r\nModule.defaultProps = {\r\n moduleName: null,\r\n};\r\n\r\nexport default withRouter(Module);\r\n","//@ts-check\r\nimport React from \"react\";\r\nimport { Icon, Formatter } from \"ecrion-components\";\r\nimport Avatar from \"@material-ui/core/Avatar\";\r\nimport { withStyles } from \"@material-ui/core/styles\";\r\n\r\nconst SIZE = 96;\r\n\r\nconst styles = (theme) => ({\r\n letterAvatar: {\r\n height: SIZE,\r\n width: SIZE,\r\n fontSize: Math.floor(SIZE / 3),\r\n margin: \"auto\",\r\n },\r\n appAvatar: {\r\n width: SIZE,\r\n height: SIZE,\r\n margin: \"auto\",\r\n borderRadius: \"5% !important\",\r\n },\r\n});\r\n\r\nconst PageAvatar = ({ alt, src, type, children, classes }) => {\r\n if (src) return ;\r\n\r\n if (type === \"icon\") {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n if (type === \"text\")\r\n return ;\r\n\r\n return null;\r\n};\r\n\r\nPageAvatar.defaultProps = {\r\n alt: \"Page avatar\",\r\n src: \"\",\r\n type: \"text\", //icon\r\n};\r\n\r\nexport default withStyles(styles, { withTheme: true })(PageAvatar);\r\n","import React from 'react';\r\nimport { withStyles } from '@material-ui/core/styles';\r\nimport PropTypes from 'prop-types';\r\n\r\nconst styles = theme => ({\r\n subTitle: {\r\n marginBottom: theme.spacing(3),\r\n },\r\n subTitleFormFragment: {\r\n marginBottom: theme.spacing(1),\r\n marginTop: theme.spacing(1) * -2,\r\n },\r\n});\r\n\r\nconst SubTitle = ({ children, classes, includedInFormFragment }) => {\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n};\r\n\r\nSubTitle.defaultProps = {\r\n includedInFormFragment: false,\r\n};\r\n\r\nSubTitle.propTypes = {\r\n children: PropTypes.any.isRequired,\r\n classes: PropTypes.object.isRequired,\r\n includedInFormFragment: PropTypes.bool,\r\n};\r\n\r\nexport default withStyles(styles, { withTheme: true })(SubTitle);\r\n","//@ts-check\r\nimport React from 'react';\r\nimport { withRouter } from 'react-router-dom';\r\nimport { Grid, Typography, useMediaQuery } from '@material-ui/core';\r\nimport PageAvatar from './PageAvatar';\r\nimport Button from './Button';\r\nimport { DataItem, Icon } from 'ecrion-components';\r\nimport SubTitle from './SubTitle';\r\nimport dompurify from 'dompurify';\r\n\r\nconst sanitizer = dompurify.sanitize;\r\n\r\nconst AppInfo = ({ history, appId }) => {\r\n function renderContent(app) {\r\n if (!app) return
;\r\n\r\n const isSmallScreen = useMediaQuery(theme => theme.breakpoints.down('sm'));\r\n const contentPadding = isSmallScreen ? 8 * 6 : 0;\r\n\r\n return (\r\n
\r\n \r\n \r\n {app.MicroserviceAppManifest.Name}\r\n \r\n \r\n\r\n {renderAppInfo(app.MicroserviceAppManifest)}\r\n
\r\n {renderActions(app.MicroserviceAppManifest)}\r\n
\r\n
\r\n );\r\n }\r\n\r\n function renderAppInfo(manifest) {\r\n return (\r\n \r\n );\r\n }\r\n\r\n function getState(manifest, state) {\r\n return manifest.States.find(\r\n (s) => s.Type.toLowerCase() === state.toLowerCase()\r\n );\r\n }\r\n\r\n function renderActions(manifest) {\r\n const unavailableType = getState(manifest, 'unavailable');\r\n if (!unavailableType) return
;\r\n\r\n return (\r\n
\r\n \r\n \r\n {unavailableType.Actions.map((a) => {\r\n return (\r\n \r\n {renderAction(a)}\r\n \r\n );\r\n })}\r\n \r\n
\r\n );\r\n }\r\n\r\n function renderAction(action) {\r\n switch (action.Type.toLowerCase()) {\r\n case 'link':\r\n return (\r\n window.open(action.Url, '_blank')}\r\n style={{ marginRight: 8 }}\r\n >\r\n {action.Caption}\r\n \r\n );\r\n case 'getitnow':\r\n return (\r\n history.push('/app/' + appId + '/install')}\r\n >\r\n Get It Now >\r\n \r\n );\r\n case 'download':\r\n return (\r\n window.open(action.Url, '_blank')}\r\n style={{ marginRight: 8 }}\r\n >\r\n \r\n {action.Caption}\r\n \r\n );\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n return (\r\n \r\n {({ value }) => renderContent(value)}\r\n \r\n );\r\n};\r\n\r\nexport default withRouter(AppInfo);\r\n","//@ts-check\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { Utils, Form } from \"ecrion-components\";\r\nimport { withStyles } from \"@material-ui/core/styles\";\r\nimport { Typography, LinearProgress } from \"@material-ui/core\";\r\nimport PageAvatar from \"./PageAvatar\";\r\nimport AppInfo from \"./AppInfo\";\r\nimport Button from \"./Button\";\r\n\r\n/**\r\n * @typedef {object} Props\r\n * @property {import('../data/microserviceApp').MicroserviceAppModel} app\r\n *\r\n **/\r\n\r\nconst styles = (theme) => ({\r\n root: {\r\n height: \"auto\",\r\n minHeight: theme.spacing(10),\r\n padding: theme.spacing(2),\r\n cursor: \"pointer\",\r\n },\r\n rootFocusVisible: {\r\n backgroundColor: \"transparent\",\r\n },\r\n rootButton: {\r\n \"&:hover\": {\r\n backgroundColor: \"#F3F5F7\",\r\n },\r\n \"&:active\": {\r\n backgroundColor: \"#E0E5EB\",\r\n },\r\n },\r\n action: {\r\n right: theme.spacing(2),\r\n },\r\n});\r\n\r\nconst AppAutoInstall = ({ history, appName }) => {\r\n const [installation, setInstallation] = useState({\r\n initialRequest: true,\r\n hasErrorsInitialRequest: false,\r\n initialRequestError: \"\",\r\n app: null,\r\n installing: false,\r\n hasInstallingErrors: false,\r\n instalationError: \"\",\r\n });\r\n\r\n useEffect(() => {\r\n Utils.request({\r\n url: `/backend/availableMicroservices?name=${appName}`,\r\n }).then(loadApp, onDataError);\r\n }, []);\r\n\r\n function loadApp(app) {\r\n if (app.MicroserviceAppInstallation) history.replace(\"/\");\r\n else {\r\n const canInstall = canAutoInstall(app.MicroserviceAppManifest);\r\n\r\n setInstallation((prevState) => {\r\n return {\r\n ...prevState,\r\n initialRequest: false,\r\n app: app,\r\n installing: canInstall,\r\n };\r\n });\r\n\r\n if (canInstall) {\r\n Utils.request({\r\n url: \"/backend/microservices2\",\r\n method: \"POST\",\r\n data: {\r\n MicroserviceAppInstallation: {\r\n Name: appName,\r\n Groups: [\"Everyone\"],\r\n Category: \"Apps\",\r\n },\r\n },\r\n }).then(onFinishInstall, onFailInstall);\r\n }\r\n }\r\n }\r\n\r\n function onFailInstall(error) {\r\n setInstallation((prevState) => {\r\n return {\r\n ...prevState,\r\n hasInstallingErrors: true,\r\n instalationError: error.response.body.Message,\r\n };\r\n });\r\n }\r\n\r\n function onFinishInstall() {\r\n history.replace(\"/\");\r\n }\r\n\r\n function canAutoInstall(manifest) {\r\n const unavailableType = manifest.States.find(\r\n (s) => s.Type.toLowerCase() === \"unavailable\"\r\n );\r\n\r\n if (!unavailableType) return false;\r\n\r\n const getItNow = unavailableType.Actions.find(\r\n (a) => a.Type.toLowerCase() === \"getitnow\"\r\n );\r\n\r\n return !!getItNow;\r\n }\r\n\r\n function onDataError(error) {\r\n setInstallation((prevState) => {\r\n return {\r\n ...prevState,\r\n initialRequest: false,\r\n installing: false,\r\n hasErrorsInitialRequest: true,\r\n initialRequestError: error.response.body.Message,\r\n };\r\n });\r\n }\r\n\r\n function renderHeader(app) {\r\n if (!app) return
;\r\n\r\n return (\r\n
\r\n \r\n {app.MicroserviceAppManifest.Name}\r\n \r\n \r\n {app.MicroserviceAppManifest.Name}\r\n \r\n
\r\n );\r\n }\r\n\r\n function renderContent() {\r\n if (installation.initialRequest)\r\n return (\r\n
\r\n Requesting '{appName}' ...\r\n \r\n
\r\n );\r\n\r\n if (installation.hasErrorsInitialRequest)\r\n return (\r\n
\r\n \r\n Failed to load '{appName}'. {installation.initialRequestError}\r\n \r\n history.push(\"/apps\")}\r\n >\r\n Manage Apps\r\n \r\n
\r\n );\r\n\r\n if (installation.app) {\r\n if (installation.hasInstallingErrors)\r\n return (\r\n
\r\n
\r\n \r\n Failed to install: {installation.instalationError}\r\n \r\n
\r\n {renderHeader(installation.app)}\r\n history.push(\"/app/\" + appName + \"/install\")}\r\n >\r\n Manual Install\r\n \r\n
\r\n );\r\n\r\n if (installation.installing)\r\n return (\r\n
\r\n {renderHeader(installation.app)}\r\n Installing '{appName}' ...\r\n \r\n
\r\n );\r\n\r\n return ;\r\n }\r\n }\r\n\r\n return
{renderContent()}
;\r\n};\r\n\r\nAppAutoInstall.defaultProps = {\r\n appName: null,\r\n};\r\n\r\nexport default withStyles(styles, { withTheme: true })(AppAutoInstall);\r\n","//@ts-check\r\nimport React from \"react\";\r\nimport { Typography, Grid, CircularProgress } from \"@material-ui/core\";\r\nimport { DataList, Utils, withUserInfo } from \"ecrion-components\";\r\nimport PageLayout from \"../components/PageLayout\";\r\nimport Button from \"../components/Button\";\r\nimport Module from \"../components/Module\";\r\nimport AppAutoInstall from \"../components/AppAutoInstall\";\r\n\r\nconst pageProps = {\r\n title: \"EngageCX\",\r\n titleVariant: \"h5\",\r\n permissions: [],\r\n};\r\n\r\nconst getMd = (m) => {\r\n if (m.AppsCount === 1) return 3;\r\n else if (m.AppsCount === 2 && m.Columns === 3) return 6;\r\n else return 3 * m.Columns;\r\n};\r\n\r\nconst getColumnsCount = (m) => {\r\n if (m.AppsCount === 1) return 1;\r\n else if (m.AppsCount === 2 && m.Columns === 3) return 2;\r\n else return m.Columns;\r\n};\r\n\r\nconst Home = ({ history, location, userInfo }) => {\r\n const searchParams = Utils.url.getSearchParams(location);\r\n const appName = searchParams[\"install-app\"];\r\n\r\n const { permissions = [] } = userInfo;\r\n\r\n if (appName) {\r\n return (\r\n \r\n \r\n \r\n );\r\n } else {\r\n return (\r\n \r\n \r\n {({ state }) =>\r\n state.view.isLoading ? (\r\n
\r\n \r\n
\r\n ) : state.data.length === 0 ? (\r\n
\r\n
\r\n {permissions.includes(\"ManageEnvironment\") ? (\r\n \r\n Welcome to EngageCX, you can install one or more apps.\r\n \r\n ) : (\r\n \r\n Welcome to EngageCX, contact your organization administrator\r\n to install one or more apps.\r\n \r\n )}\r\n
\r\n {permissions.includes(\"ManageEnvironment\") && (\r\n \r\n history.push(\"/apps\" + history.location.search)\r\n }\r\n >\r\n Explore Apps\r\n \r\n )}\r\n
\r\n ) : (\r\n \r\n {state.data.map((m) => (\r\n \r\n \r\n \r\n
\r\n \r\n ))}\r\n \r\n )\r\n }\r\n \r\n \r\n );\r\n }\r\n};\r\n\r\nexport default withUserInfo(Home);\r\n","//@ts-check\r\nimport React from \"react\";\r\nimport {\r\n Grid,\r\n Avatar,\r\n Typography,\r\n Button,\r\n Box,\r\n Tooltip,\r\n} from \"@material-ui/core\";\r\nimport { withStyles, createStyles } from \"@material-ui/core/styles\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport { Icon } from \"ecrion-components\";\r\n\r\nconst styles = (theme) =>\r\n createStyles({\r\n appCaption: {\r\n textAlign: \"center\",\r\n },\r\n appCaptionText: {},\r\n appDescription: {\r\n minHeight: 65,\r\n },\r\n appAvatarRebranding: {\r\n borderRadius: \"5%\",\r\n },\r\n });\r\n\r\n/**\r\n * @typedef {object} Props\r\n * @property {import('../data/microserviceApp').MicroserviceAppModel} app\r\n *\r\n **/\r\nconst App = ({ app, classes, history }) => {\r\n function navigateToApp(app) {\r\n if (!app.MicroserviceAppInstallation)\r\n history.push(\"/app/\" + app.MicroserviceAppManifest.Id + \"/getstarted\");\r\n else history.push(\"/app/\" + app.MicroserviceAppManifest.Id + \"/edit\");\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {app.MicroserviceAppManifest.Name}\r\n \r\n {app.MicroserviceAppInstallation && (\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n navigateToApp(app)}\r\n >\r\n More >\r\n \r\n \r\n \r\n
\r\n );\r\n};\r\n\r\nApp.defaultProps = {\r\n app: null,\r\n};\r\n\r\nexport default withStyles(styles, { withTheme: true })(withRouter(App));\r\n","//@ts-check\r\nimport React from \"react\";\r\nimport PageLayout from \"../components/PageLayout\";\r\nimport { DataList, DataFilter, DropdownButton, Icon } from \"ecrion-components\";\r\nimport App from \"../components/App\";\r\nimport SubTitle from \"../components/SubTitle\";\r\nimport { Grid, Typography, CircularProgress } from \"@material-ui/core\";\r\n\r\nconst FILTER_OPTIONS = [\r\n { label: \"All\", value: null },\r\n {\r\n label: \"Featured\",\r\n value: { categoryName: \"Featured\" },\r\n },\r\n {\r\n label: \"Installed\",\r\n value: { categoryName: \"Installed\" },\r\n },\r\n \"separator\",\r\n];\r\n\r\nconst buttonProps = {\r\n hoverable: true,\r\n};\r\n\r\nconst ManageApps = ({ history, location }) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n ({ categoryName: data.Name })}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n history.push(\"/categories\")}\r\n label=\"Categories\"\r\n tooltipPlacement=\"bottom\"\r\n {...buttonProps}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n {({ state }) =>\r\n state.view.isLoading ? (\r\n
\r\n \r\n
\r\n ) : state.data.length === 0 ? (\r\n \r\n No apps available\r\n \r\n ) : (\r\n \r\n {state.data.map((app) => (\r\n \r\n \r\n \r\n ))}\r\n
\r\n )\r\n }\r\n \r\n
\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default ManageApps;\r\n","//@ts-check\r\nimport React from \"react\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport PageLayout from \"../components/PageLayout\";\r\nimport { DataItem } from \"ecrion-components\";\r\n\r\nconst ManageApp = ({ match, history }) => {\r\n let appId = match && match.params && match.params.id ? match.params.id : null;\r\n\r\n function redirectAppPage(app) {\r\n if (!app) return
;\r\n\r\n if (!app.MicroserviceAppInstallation) history.replace(\"/app/\" + appId);\r\n\r\n return
;\r\n }\r\n\r\n return (\r\n \r\n \r\n {({ value }) => redirectAppPage(value)}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default withRouter(ManageApp);\r\n","//@ts-check\r\nimport React from \"react\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport { Grid, FormLabel } from \"@material-ui/core\";\r\nimport PageLayout from \"../components/PageLayout\";\r\nimport PageAvatar from \"../components/PageAvatar\";\r\nimport SubTitle from \"../components/SubTitle\";\r\nimport { Form, DataItem, DataList } from \"ecrion-components\";\r\n\r\nconst formGridProps = {\r\n alignItems: \"center\",\r\n style: { marginTop: 8 * 2 }\r\n};\r\n\r\nconst AppInstall = ({ history, match }) => {\r\n let appId = match && match.params && match.params.id ? match.params.id : null;\r\n\r\n function renderHeader(app) {\r\n if (!app) return
;\r\n\r\n return (\r\n \r\n \r\n {app.MicroserviceAppManifest.Name}\r\n \r\n \r\n );\r\n }\r\n\r\n function renderContent(app) {\r\n return (\r\n \r\n {renderHeader(app)}\r\n \r\n \r\n \r\n \r\n \r\n Category\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Access Rights\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n\r\n return (\r\n \r\n {({ value: app }) => (\r\n \r\n {({ value: group }) =>\r\n app ? (\r\n \r\n \r\n {({ state }) =>\r\n !state.view.isLoading ? (\r\n {\r\n const errors = {};\r\n if (!data.MicroserviceAppInstallation.Category) {\r\n errors.MicroserviceAppInstallation.Category =\r\n \"Category is required\";\r\n }\r\n\r\n return errors;\r\n }}\r\n submitLabel=\"Install\"\r\n submittingLabel=\"Installing...\"\r\n defaultValue={{\r\n MicroserviceAppInstallation: {\r\n Id: appId,\r\n Category:\r\n app.MicroserviceAppManifest\r\n .DefaultInstallCategory &&\r\n state.data.findIndex(\r\n c =>\r\n c.Name ===\r\n app.MicroserviceAppManifest\r\n .DefaultInstallCategory\r\n ) > -1\r\n ? app.MicroserviceAppManifest\r\n .DefaultInstallCategory\r\n : state.data.length > 0 && state.data[0].Name,\r\n PrincipalIds:\r\n app.MicroserviceAppManifest.DefaultPrincipals\r\n .length > 0\r\n ? app.MicroserviceAppManifest.DefaultPrincipals.map(\r\n p => p.Id\r\n )\r\n : group\r\n ? [group.PrincipalId]\r\n : []\r\n }\r\n }}\r\n dataItemProps={{\r\n dataType: \"microserviceApp\"\r\n }}\r\n renderContent={renderContent.bind(this, app)}\r\n onSuccess={(response, payload) => {\r\n if (payload && payload.RedirectURL)\r\n {\r\n let redirectUrl = payload.RedirectURL;\r\n if(redirectUrl.indexOf(\"https://\") !==0 && redirectUrl.indexOf(\"http://\") !==0)\r\n redirectUrl=\"https://\"+ redirectUrl;\r\n window.location.href = redirectUrl;\r\n } \r\n else history.push(\"/\");\r\n }}\r\n onCancel={() => {}}\r\n />\r\n ) : (\r\n
\r\n )\r\n }\r\n \r\n \r\n ) : (\r\n
\r\n )\r\n }\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default withRouter(AppInstall);\r\n","import React from \"react\";\r\nimport { DataList } from \"ecrion-components\";\r\nimport PropTypes from \"prop-types\";\r\nimport Typography from \"@material-ui/core/Typography\";\r\nimport Button from \"./Button\";\r\n\r\nconst FormaterDataList = ({\r\n id,\r\n dataType,\r\n maxCount,\r\n separator,\r\n render,\r\n renderMore,\r\n fallback,\r\n dataProps,\r\n actionLabel,\r\n actionClick,\r\n disabled\r\n}) => {\r\n return (\r\n
\r\n \r\n \r\n \r\n {({ state }) =>\r\n state.data.length === 0 ? (\r\n fallback\r\n ) : (\r\n \r\n {state.data.map((t, idx) => (\r\n \r\n {render(t)}\r\n {idx < state.data.length - 1 ? separator : null}\r\n \r\n ))}\r\n {renderMore(state.count - maxCount)}\r\n \r\n )\r\n }\r\n \r\n
\r\n {actionLabel && actionClick && (\r\n \r\n {actionLabel}\r\n \r\n )}\r\n
\r\n
\r\n );\r\n};\r\n\r\nFormaterDataList.defaultProps = {\r\n fallback: (\r\n \r\n None\r\n \r\n ),\r\n separator: \" \",\r\n disabled: false\r\n};\r\n\r\nFormaterDataList.propTypes = {\r\n id: PropTypes.string.isRequired,\r\n\r\n /** Specify a dataType to listen for data changes */\r\n dataType: PropTypes.string.isRequired,\r\n\r\n /** Additional data that is required by the business logic to get the items.\r\n * e.g. to display ads inside a promotion this would be { promotionId: 4 } */\r\n dataProps: PropTypes.object,\r\n\r\n /* Specify the max number of displayed entries */\r\n maxCount: PropTypes.number.isRequired,\r\n\r\n /* Specify separator between entries */\r\n separator: PropTypes.string,\r\n\r\n /* Specify render function for each element */\r\n\r\n render: PropTypes.func.isRequired,\r\n\r\n /* Specify render function for rest of elements */\r\n\r\n renderMore: PropTypes.func.isRequired,\r\n\r\n /* Specify action of formater data list */\r\n actionLabel: PropTypes.string,\r\n actionClick: PropTypes.func,\r\n\r\n fallback: PropTypes.element,\r\n disabled: PropTypes.bool\r\n};\r\n\r\nexport default FormaterDataList;\r\n","//@ts-check\r\nimport React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { withStyles, createStyles } from '@material-ui/core/styles';\r\nimport { Icon } from 'ecrion-components';\r\n\r\nconst styles = theme =>\r\n createStyles({\r\n chip: {\r\n borderRadius: 6,\r\n display: 'inline-block',\r\n padding: '4px 8px',\r\n fontSize: '0.7rem',\r\n backgroundColor: '#fff',\r\n color: '#000',\r\n },\r\n icon: {\r\n marginRight: '4px',\r\n fontSize: '0.7rem',\r\n marginBottom: '-2px',\r\n },\r\n });\r\n\r\nconst Chip = ({ iconType, label, classes, backgroundColor, color }) => {\r\n return (\r\n \r\n {iconType && }\r\n {label}\r\n \r\n );\r\n};\r\n\r\nChip.defaultProps = {};\r\n\r\nChip.propTypes = {\r\n /** Specify a dataType to listen for data changes */\r\n label: PropTypes.string.isRequired,\r\n\r\n /** Icon */\r\n iconType: PropTypes.string,\r\n\r\n /** background */\r\n backgroundColor: PropTypes.string,\r\n\r\n /** color */\r\n color: PropTypes.string,\r\n};\r\n\r\nexport default withStyles(styles, { withTheme: true })(Chip);\r\n","//@ts-check\r\nimport React from \"react\";\r\nimport Typography from \"@material-ui/core/Typography\";\r\nimport PageLayout from \"../components/PageLayout\";\r\n\r\nconst NotFound = () => {\r\n return (\r\n \r\n \r\n Page not found\r\n \r\n \r\n );\r\n};\r\n\r\nexport default NotFound;\r\n","import React from \"react\";\r\nimport { CircularProgress } from \"@material-ui/core\";\r\n\r\nconst Loading = () => {\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default Loading;\r\n","//@ts-check\r\nimport React, { useEffect, useState } from 'react';\r\nimport { withRouter } from 'react-router-dom';\r\nimport { Typography, Grid, FormLabel } from '@material-ui/core';\r\nimport PageLayout from '../components/PageLayout';\r\nimport PageAvatar from '../components/PageAvatar';\r\nimport { Form, DataAction, Icon, Modals, Utils } from 'ecrion-components';\r\nimport Button from '../components/Button';\r\nimport FormaterDataList from '../components/FormaterDataList';\r\nimport Chip from '../components/Chip';\r\nimport SubTitle from '../components/SubTitle';\r\nimport { withStyles, createStyles } from '@material-ui/core/styles';\r\nimport NotFound from './NotFound';\r\nimport Loading from '../components/Loading';\r\nimport dompurify from 'dompurify';\r\n\r\nconst formGridProps = {\r\n alignItems: 'center',\r\n};\r\n\r\nconst styles = (theme) =>\r\n createStyles({\r\n chip: {\r\n backgroundColor: '#fff',\r\n color: '#000',\r\n },\r\n });\r\n\r\nconst sanitizer = dompurify.sanitize;\r\n\r\nconst AppEdit = ({ history, match, classes }) => {\r\n let appId = match && match.params && match.params.id ? match.params.id : null;\r\n const [pageLoading, setPageLoading] = useState(true);\r\n const [appEntity, setAppEntity] = useState(null);\r\n\r\n useEffect(() => {\r\n Utils.request({\r\n url: `/backend/microservices2?appId=${encodeURIComponent(appId)}`,\r\n }).then(loadApp, onDataError);\r\n }, []);\r\n\r\n function loadApp(manifest) {\r\n setAppEntity(manifest);\r\n setPageLoading(false);\r\n }\r\n\r\n function onDataError() {\r\n setPageLoading(false);\r\n }\r\n\r\n function renderFooter(app) {\r\n if (!app) return
;\r\n\r\n return (\r\n
\r\n {renderActions(app.MicroserviceAppManifest)}\r\n
\r\n );\r\n }\r\n\r\n function renderActions(manifest) {\r\n const availableType = manifest.States.find(\r\n (s) => s.Type.toLowerCase() === 'available'\r\n );\r\n if (!availableType) return
;\r\n\r\n return (\r\n
\r\n \r\n \r\n {availableType.Actions.map((a) => {\r\n return (\r\n \r\n {renderAction(a)}\r\n \r\n );\r\n })}\r\n \r\n
\r\n );\r\n }\r\n\r\n function removeApp() {\r\n DataAction.item({\r\n dataType: 'microserviceApp',\r\n id: appId,\r\n })\r\n .delete({\r\n useConfirmation: true,\r\n })\r\n .then((response) => {\r\n if (response && response.payload && response.payload.RedirectURL)\r\n {\r\n let redirectUrl = response.payload.RedirectURL;\r\n if(redirectUrl.indexOf(\"https://\") !==0 && redirectUrl.indexOf(\"http://\") !==0)\r\n redirectUrl=\"https://\"+ redirectUrl;\r\n window.location.href = redirectUrl;\r\n } \r\n else history.push('/');\r\n });\r\n }\r\n\r\n function renderAction(action) {\r\n switch (action.Type.toLowerCase()) {\r\n case 'remove':\r\n return (\r\n \r\n Remove\r\n \r\n );\r\n case 'link':\r\n return (\r\n window.open(action.Url, '_blank')}\r\n style={{ marginRight: 8 }}\r\n >\r\n {action.Caption}\r\n \r\n );\r\n\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n function renderContent(app, values) {\r\n return (\r\n <>\r\n \r\n \r\n {app.MicroserviceAppManifest.Name}\r\n \r\n {app.MicroserviceAppInstallation.Upgrade && (\r\n \r\n \r\n {\r\n Modals.open({\r\n type: Modals.TYPES.CONFIRMATION,\r\n props: {\r\n title: `Update ${app.MicroserviceAppManifest.Name}`,\r\n message: `Are you sure you want to update ${app.MicroserviceAppManifest.Name} to version ${app.MicroserviceAppInstallation.Upgrade.Version}?`,\r\n onConfirm: () => {\r\n return Utils.request({\r\n url: `/backend/microservices2/update?appId=${encodeURIComponent(\r\n app.MicroserviceAppManifest.Id\r\n )}`,\r\n method: 'PUT',\r\n }).then(() => {\r\n history.push('/');\r\n });\r\n },\r\n },\r\n });\r\n }}\r\n />\r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Category\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Access Rights\r\n \r\n \r\n \r\n history.push('/app/' + appId + '/edit/accessRights')\r\n }\r\n disabled={app.MicroserviceAppManifest.CoreFunctionality}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n\r\n function renderMorePrincipalsItems(moreNumber) {\r\n if (moreNumber <= 0) return;\r\n\r\n return + {moreNumber} more;\r\n }\r\n\r\n function renderPrincipalItem(principal) {\r\n return (\r\n \r\n );\r\n }\r\n\r\n function renderForm(app) {\r\n if (!app) return
;\r\n\r\n return (\r\n {\r\n const errors = {};\r\n if (\r\n data &&\r\n data.MicroserviceAppInstallation &&\r\n !data.MicroserviceAppInstallation.Category\r\n ) {\r\n errors.MicroserviceAppInstallation.Category =\r\n 'Category is required';\r\n }\r\n\r\n return errors;\r\n }}\r\n submitLabel=\"Save\"\r\n submittingLabel=\"Saving...\"\r\n dataItemProps={{\r\n dataType: 'microserviceApp',\r\n id: appId,\r\n }}\r\n renderContent={(values) => renderContent(app, values)}\r\n onSuccess={() => {\r\n history.push('/');\r\n }}\r\n renderFooterLeft={() => (\r\n removeApp()}\r\n style={{ marginLeft: 8 }}\r\n >\r\n Uninstall\r\n \r\n )}\r\n onCancel={() => {}}\r\n />\r\n );\r\n }\r\n\r\n return pageLoading ? (\r\n \r\n ) : appEntity ? (\r\n \r\n
\r\n {renderForm(appEntity)}\r\n {renderFooter(appEntity)}\r\n
\r\n \r\n ) : (\r\n \r\n );\r\n};\r\n\r\nexport default withStyles(styles, { withTheme: true })(withRouter(AppEdit));\r\n","//@ts-check\r\nimport React, { useState, useEffect, useRef } from \"react\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport { DataList } from \"ecrion-components\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nconst ProgressiveDataList = ({\r\n dataType,\r\n useWindow,\r\n children,\r\n getScrollParent,\r\n pageStart,\r\n ...rest\r\n}) => {\r\n const [page, setPage] = useState(pageStart);\r\n const [isFetching, setIsFetching] = useState(false);\r\n const containerRef = useRef(null);\r\n const regex = /(auto|scroll)/;\r\n\r\n useEffect(() => {\r\n const scrollElement = getScrollElement();\r\n\r\n if (scrollElement) scrollElement.addEventListener(\"scroll\", handleScroll);\r\n return () => {\r\n if (scrollElement)\r\n scrollElement.removeEventListener(\"scroll\", handleScroll);\r\n };\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (!isFetching) return;\r\n setPage(page + 1);\r\n setIsFetching(false);\r\n }, [isFetching]);\r\n\r\n function getScrollElement() {\r\n if (useWindow) return window;\r\n if (getScrollParent) return getScrollParent();\r\n\r\n return getParent();\r\n }\r\n\r\n function handleScroll() {\r\n const scrollElement = getScrollElement();\r\n\r\n if (\r\n scrollElement.scrollHeight - scrollElement.scrollTop ===\r\n scrollElement.clientHeight\r\n )\r\n setPage(page + 1);\r\n }\r\n\r\n function style(node, prop) {\r\n return getComputedStyle(node, null).getPropertyValue(prop);\r\n }\r\n\r\n function scroll(node) {\r\n return regex.test(style(node, \"overflow\") + style(node, \"overflow-y\"));\r\n }\r\n\r\n function scrollparent(node) {\r\n return !node || node === document.body\r\n ? document.body\r\n : scroll(node)\r\n ? node\r\n : scrollparent(node.parentNode);\r\n }\r\n\r\n function getParent() {\r\n return containerRef ? scrollparent(containerRef.current) : null;\r\n }\r\n\r\n let dataLists = [];\r\n for (let i = 0; i < page + 1; i++) {\r\n const localPage = i;\r\n\r\n // note: we add a key prop here to allow react to uniquely identify each\r\n // element in this array.\r\n dataLists.push(\r\n
\r\n \r\n {children}\r\n \r\n
\r\n );\r\n }\r\n\r\n return
{dataLists}
;\r\n};\r\n\r\nProgressiveDataList.defaultProps = {\r\n useWindow: false,\r\n pageStart: 0,\r\n itemsPerPage: 20\r\n};\r\n\r\nProgressiveDataList.propTypes = {\r\n /** Add scroll listeners to the window, or else, the component's parentNode. */\r\n useWindow: PropTypes.bool.isRequired,\r\n\r\n /** The number of the first page to load, With the default of 0, the first page is 1. */\r\n pageStart: PropTypes.number.isRequired,\r\n\r\n /** Override method to return a different scroll listener if it's not the immediate parent of InfiniteScroll. */\r\n getScrollParent: PropTypes.func\r\n};\r\n\r\nexport default withRouter(ProgressiveDataList);\r\n","//@ts-check\r\nimport React from \"react\";\r\nimport PageLayout from \"../components/PageLayout\";\r\nimport { DataItem, DataAction } from \"ecrion-components\";\r\nimport { Typography, Grid, List } from \"@material-ui/core\";\r\nimport Item from \"../components/Item\";\r\nimport { Icon } from \"ecrion-components\";\r\nimport PageAvatar from \"../components/PageAvatar\";\r\nimport SubTitle from \"../components/SubTitle\";\r\nimport ProgressiveDataList from \"../components/ProgressiveDataList\";\r\n\r\nconst AppEditAccessRights = ({ match, history }) => {\r\n const appId =\r\n match && match.params && match.params.id ? match.params.id : null;\r\n\r\n function renderHeader(app) {\r\n if (!app) return
;\r\n\r\n return (\r\n \r\n \r\n {app.MicroserviceAppManifest.Name}\r\n \r\n \r\n {app.MicroserviceAppManifest.Name}\r\n \r\n \r\n \r\n \r\n history.push(\"/app/\" + appId + \"/edit/accessRights/add\")\r\n }\r\n />\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n function renderContent(value) {\r\n if (!value) return
;\r\n\r\n return (\r\n \r\n \r\n \r\n {({ state }) =>\r\n state.data.length === 0 ? (\r\n \r\n No access rights defined\r\n \r\n ) : (\r\n \r\n {state.data.map(principal => (\r\n removeAccessRight(principal.Id)\r\n }}\r\n />\r\n ))}\r\n \r\n )\r\n }\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n function removeAccessRight(id) {\r\n DataAction.item({\r\n dataType: \"microserviceAppPrincipal\",\r\n id: id,\r\n dataProps: {\r\n appId: appId\r\n }\r\n }).delete({\r\n useConfirmation: true\r\n });\r\n }\r\n\r\n return (\r\n \r\n \r\n {({ value }) => {\r\n return (\r\n
\r\n {renderHeader(value)}\r\n {renderContent(value)}\r\n
\r\n );\r\n }}\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default AppEditAccessRights;\r\n","//@ts-check\r\nimport React from \"react\";\r\nimport PageLayout from \"../components/PageLayout\";\r\nimport { DataItem, Form } from \"ecrion-components\";\r\nimport { Typography, Grid, FormLabel } from \"@material-ui/core\";\r\nimport PageAvatar from \"../components/PageAvatar\";\r\nimport SubTitle from \"../components/SubTitle\";\r\n\r\nconst formGridProps = {\r\n alignItems: \"center\"\r\n};\r\n\r\nconst AppEditAccessRightsAdd = ({ match, history }) => {\r\n const appId =\r\n match && match.params && match.params.id ? match.params.id : null;\r\n\r\n function renderHeader(app) {\r\n if (!app) return
;\r\n\r\n return
;\r\n }\r\n\r\n function renderForm(app) {\r\n if (!app) return
;\r\n\r\n return (\r\n renderContent(app, values)}\r\n onSuccess={() => {\r\n history.push(\r\n \"/app/\" + app.MicroserviceAppManifest.Id + \"/edit/accessrights/\"\r\n );\r\n }}\r\n onCancel={() => {}}\r\n />\r\n );\r\n }\r\n\r\n function renderContent(app, values) {\r\n return (\r\n <>\r\n \r\n \r\n {app.MicroserviceAppManifest.Name}\r\n \r\n \r\n {app.MicroserviceAppManifest.Name}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Users/Groups\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n\r\n return (\r\n \r\n \r\n {({ value }) => {\r\n return (\r\n
\r\n {renderHeader(value)}\r\n {renderForm(value)}\r\n
\r\n );\r\n }}\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default AppEditAccessRightsAdd;\r\n","//@ts-check\r\nimport React, { useState, useEffect } from \"react\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport PageLayout from \"../components/PageLayout\";\r\nimport AppInfo from \"../components/AppInfo\";\r\nimport { Utils } from \"ecrion-components\";\r\nimport NotFound from \"./NotFound\";\r\nimport Loading from \"../components/Loading\";\r\n\r\nconst ManageApp = ({ match }) => {\r\n const appId = match && match.params && match.params.id ? match.params.id : null;\r\n\r\n const [pageLoading, setPageLoading] = useState(true);\r\n const [appEntity, setAppEntity] = useState(null);\r\n\r\n useEffect(() => {\r\n Utils.request({\r\n url: `/backend/availableMicroservices?id=${encodeURIComponent(appId)}`\r\n }).then(loadApp, onDataError);\r\n }, []);\r\n\r\n function loadApp(manifest) {\r\n setAppEntity(manifest);\r\n setPageLoading(false);\r\n }\r\n\r\n function onDataError() {\r\n setPageLoading(false);\r\n }\r\n\r\n return (\r\n pageLoading ? \r\n : (appEntity && appEntity.MicroserviceAppManifest && appEntity.MicroserviceAppManifest.Name\r\n ? (\r\n \r\n )\r\n : ())\r\n );\r\n};\r\n\r\nexport default withRouter(ManageApp);\r\n","import { Modals } from \"ecrion-components\";\r\n\r\n//confirm saving user data\r\nexport const onSave = (isUsernameChanged, isCurrentUser) => {\r\n return new Promise((resolve, reject) => {\r\n\r\n var message = \"\";\r\n\r\n //if username is changed\r\n if (isUsernameChanged) {\r\n message = message + `When updating the email, the username will be updated with the same value. `\r\n //if current username is edited\r\n if (isCurrentUser) {\r\n message = message + `After saving changes, you will be redirect to logout.`;\r\n }\r\n }\r\n\r\n if (message !== \"\") {\r\n return Modals.open({\r\n type: Modals.TYPES.CONFIRMATION,\r\n props: {\r\n title: \"Save user\",\r\n message: message,\r\n onConfirm: () => {\r\n return resolve(true);\r\n },\r\n onClose: () => {\r\n return resolve(false);\r\n }\r\n },\r\n });\r\n } else {\r\n return resolve(true);\r\n }\r\n\r\n });\r\n};\r\n\r\nconst UserConfirm = {\r\n onSave\r\n};\r\n\r\nexport default UserConfirm;\r\n","//@ts-check\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport { Grid, FormLabel, Tooltip } from \"@material-ui/core\";\r\nimport PageLayout from \"../components/PageLayout\";\r\nimport PageAvatar from \"../components/PageAvatar\";\r\nimport SubTitle from \"../components/SubTitle\";\r\nimport Button from \"../components/Button\";\r\nimport Loading from \"../components/Loading\";\r\nimport { Form, withUserInfo, Utils, Modals, Icon, withAuth } from \"ecrion-components\";\r\nimport { withStyles, createStyles } from \"@material-ui/core/styles\";\r\nimport UserConfirm from \"./UserConfirm\";\r\n\r\nconst formGridProps = {\r\n alignItems: \"center\",\r\n};\r\n\r\nconst deleteAvatarButtonProps = {\r\n width: \"3px\",\r\n height: \"3px\",\r\n float: \"right\",\r\n padding: \"1px\",\r\n fontSize: \"14px\",\r\n marginBottom: \"12px\"\r\n};\r\n\r\nconst styles = (theme) =>\r\n createStyles({\r\n avatar: {\r\n \"&:hover\": {\r\n backgroundColor: \"blue !important\",\r\n },\r\n },\r\n avatarContainer: {\r\n margin: \"auto\",\r\n \"& div\": {\r\n \"&:focus\": {\r\n outline: \"0px\",\r\n },\r\n \"&:hover\": {\r\n cursor: \"pointer\",\r\n },\r\n },\r\n },\r\n });\r\n\r\nconst Account = ({ history, userInfo, classes, logoutUser }) => {\r\n const [loading, setLoading] = useState(true);\r\n const [ssoEnabled, setSSOEnabled] = useState(false);\r\n const [editProfileURL, setEditProfileURL] = useState(null);\r\n const [hasAvatar, setHasAvatar] = useState(false);\r\n const [refreshAvatar, setRefreshAvatar] = useState(0)\r\n\r\n function getPageAvatar(file) {\r\n if (!file) {\r\n setHasAvatar(false);\r\n return (\r\n \r\n {getDisplayName()}\r\n \r\n );\r\n }\r\n\r\n setHasAvatar(true);\r\n return (\r\n \r\n {getDisplayName()}\r\n \r\n );\r\n }\r\n\r\n function deletePageAvatar() {\r\n Modals.open({\r\n type: Modals.TYPES.CONFIRMATION,\r\n props: {\r\n title: `Remove profile avatar`,\r\n message: `Are you sure you want to remove your profile avatar?`,\r\n onConfirm: () => {\r\n return Utils.request({\r\n url: `/backend/userlogo?userName=${encodeURIComponent(userInfo.userName)}`,\r\n method: 'DELETE',\r\n }).then(() => { setRefreshAvatar(refreshAvatar + 1) });\r\n },\r\n },\r\n });\r\n\r\n }\r\n\r\n function getDisplayName() {\r\n if (userInfo.firstName && userInfo.lastName)\r\n return userInfo.firstName + \" \" + userInfo.lastName;\r\n if (userInfo.firstName) return userInfo.firstName;\r\n if (userInfo.lastName) return userInfo.lastName;\r\n\r\n return userInfo.userName || \"\";\r\n }\r\n\r\n useEffect(() => {\r\n Utils.request({\r\n url: `/backend/ssourl`,\r\n }).then((sso) => {\r\n if (sso && sso.Type && sso.Type.toLowerCase() !== \"enterprise\") {\r\n setSSOEnabled(true);\r\n\r\n if (sso.EditProfileUrl) setEditProfileURL(sso.EditProfileUrl);\r\n }\r\n\r\n setLoading(false);\r\n });\r\n }, []);\r\n\r\n return (\r\n \r\n {loading ? (\r\n \r\n ) : (\r\n { return UserConfirm.onSave(userInfo.userName !== data.Email, true) }}\r\n submitDisabled={ssoEnabled}\r\n onValidate={(data) => {\r\n const errors = {};\r\n if (!data.Email)\r\n errors.Email = \"Email is required\";\r\n return errors;\r\n }}\r\n renderContent={() => (\r\n \r\n \r\n \r\n {hasAvatar &&\r\n deletePageAvatar()}\r\n />}\r\n \r\n \r\n \r\n {(file) => getPageAvatar(file)}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n First Name\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Last Name\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Email\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n }\r\n onSuccess={(data) => {\r\n //if the current user has changed their username\r\n if (userInfo.userName !== data.Email) {\r\n logoutUser();\r\n } else {\r\n history.push(\"/\" + history.location.search);\r\n }\r\n }}\r\n renderFooterLeft={() =>\r\n ssoEnabled ? (\r\n editProfileURL && (\r\n window.open(editProfileURL, \"_blank\")}\r\n style={{ marginLeft: 8 }}\r\n >\r\n Edit Profile\r\n \r\n )\r\n ) : (\r\n \r\n Modals.open({\r\n type: \"CHANGE_PASSWORD\",\r\n })\r\n }\r\n style={{ marginLeft: 8 }}\r\n >\r\n Change Password\r\n \r\n )\r\n }\r\n onCancel={() => { }}\r\n />\r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default withStyles(styles)(withUserInfo(withAuth(withRouter(Account))));\r\n","export const getDisplayName = (firstName, lastName, userName) => {\r\n if (firstName && lastName) return firstName + ' ' + lastName;\r\n if (firstName) return firstName;\r\n if (lastName) return lastName;\r\n\r\n return userName || '';\r\n};\r\n","//@ts-check\r\nimport React from 'react';\r\nimport { Grid, Typography, List, LinearProgress } from '@material-ui/core';\r\nimport { Icon, DataFilter, DataAction, withUserInfo } from 'ecrion-components';\r\nimport Item from '../components/Item';\r\nimport PageLayout from '../components/PageLayout';\r\nimport ProgressiveDataList from '../components/ProgressiveDataList';\r\nimport { getDisplayName } from '../utils/getDisplayName';\r\nimport SubTitle from '../components/SubTitle';\r\n\r\nconst buttonProps = {\r\n hoverable: true,\r\n};\r\n\r\nconst Users = ({ history, location, userInfo }) => {\r\n function deleteUser(userName) {\r\n DataAction.item({\r\n dataType: 'user',\r\n id: userName,\r\n })\r\n .delete({\r\n useConfirmation: true,\r\n })\r\n .then(res => {\r\n history.push('/users');\r\n });\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n history.push('/user')}\r\n {...buttonProps}\r\n />\r\n \r\n \r\n history.push('/groups' + history.location.search)}\r\n {...buttonProps}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n {({ state }) => {\r\n return (\r\n
\r\n {state.data.length === 0 ? (\r\n state.view.page === 0 ? (\r\n state.view.isLoading ? (\r\n \r\n ) : (\r\n
\r\n {state.view.page === 0 && (\r\n No users.\r\n )}\r\n
\r\n )\r\n ) : (\r\n
\r\n )\r\n ) : (\r\n \r\n {state.data.map(\r\n user =>\r\n typeof user !== 'undefined' && (\r\n deleteUser(user.UserName),\r\n disabled: userInfo.userName === user.UserName,\r\n }}\r\n />\r\n )\r\n )}\r\n \r\n )}\r\n
\r\n );\r\n }}\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default withUserInfo(Users);\r\n","//@ts-check\r\nimport React from \"react\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport { Grid, FormLabel, Typography, Tooltip } from \"@material-ui/core\";\r\nimport PageLayout from \"../../../components/PageLayout\";\r\nimport PageAvatar from \"../../../components/PageAvatar\";\r\nimport {\r\n Form,\r\n withUserInfo,\r\n DataItem,\r\n DataAction,\r\n Icon,\r\n Modals,\r\n Utils,\r\n withAuth,\r\n} from \"ecrion-components\";\r\nimport FormaterDataList from \"../../../components/FormaterDataList\";\r\nimport Button from \"../../../components/Button\";\r\nimport Chip from \"../../../components/Chip\";\r\nimport { getDisplayName } from \"../../../utils/getDisplayName\";\r\nimport { withStyles, createStyles } from \"@material-ui/core/styles\";\r\nimport SubTitle from \"../../../components/SubTitle\";\r\nimport UserConfirm from \"../../UserConfirm\";\r\nconst formGridProps = {\r\n alignItems: \"center\",\r\n};\r\n\r\nconst styles = (theme) =>\r\n createStyles({\r\n avatar: {\r\n \"&:hover\": {\r\n backgroundColor: \"blue !important\",\r\n },\r\n },\r\n avatarContainer: {\r\n margin: \"auto\",\r\n \"& div\": {\r\n \"&:focus\": {\r\n outline: \"0px\",\r\n },\r\n \"&:hover\": {\r\n cursor: \"pointer\",\r\n },\r\n },\r\n },\r\n });\r\n\r\nconst EditUser = ({\r\n history,\r\n userInfo,\r\n classes,\r\n userName,\r\n ssoEnabled,\r\n logoutUser,\r\n editProfileURL,\r\n}) => {\r\n function renderMoreGroupItems(moreNumber) {\r\n if (moreNumber <= 0) return;\r\n\r\n return (\r\n \r\n + {moreNumber} more\r\n \r\n );\r\n }\r\n\r\n function renderGroupItem(group) {\r\n return ;\r\n }\r\n\r\n function getPageAvatar(file, displayName) {\r\n if (!file) {\r\n return (\r\n \r\n {displayName}\r\n \r\n );\r\n }\r\n\r\n return (\r\n \r\n user\r\n \r\n );\r\n }\r\n\r\n function getDateDiff(date) {\r\n if (!date || date === \"--\") return \"Never logged in\";\r\n\r\n let returnMsg = \"Last logged on \";\r\n\r\n const t1 = new Date();\r\n const t2 = new Date(date);\r\n\r\n const diffMS = t1 - t2;\r\n const diffS = diffMS / 1000;\r\n const diffM = diffS / 60;\r\n const diffH = diffM / 60;\r\n const diffD = diffH / 24;\r\n\r\n if (diffD > 1) return returnMsg + Math.round(diffD) + \" days ago\";\r\n if (diffH > 1) return returnMsg + Math.round(diffH) + \" hours ago\";\r\n if (diffM > 1) return returnMsg + Math.round(diffM) + \" minutes ago\";\r\n\r\n return \"few moments ago\";\r\n }\r\n\r\n function deleteUser() {\r\n DataAction.item({\r\n dataType: \"user\",\r\n id: userName,\r\n })\r\n .delete({\r\n useConfirmation: true,\r\n })\r\n .then((res) => {\r\n history.push(\"/users\");\r\n });\r\n }\r\n\r\n return (\r\n \r\n \r\n {({ value: user }) =>\r\n !user ? (\r\n
\r\n ) : (\r\n { return UserConfirm.onSave(userName !== data.Email, userInfo.userName == userName)}}\r\n onValidate={(data) => {\r\n const errors = {};\r\n if (!data.Email)\r\n errors.Email = \"Email is required\";\r\n\r\n return errors;\r\n }}\r\n defaultValue={{\r\n Enabled: true,\r\n AutoGenerate: true,\r\n }}\r\n submitAlign=\"center\"\r\n renderFooterLeft={() =>\r\n userInfo.userName !== userName && (\r\n deleteUser()}\r\n style={{ marginLeft: 8 }}\r\n >\r\n Delete User\r\n \r\n )\r\n }\r\n renderContent={() => (\r\n \r\n \r\n \r\n \r\n {(file) =>\r\n getPageAvatar(\r\n file,\r\n getDisplayName(\r\n user.FirstName,\r\n user.LastName,\r\n user.UserName\r\n )\r\n )\r\n }\r\n \r\n \r\n \r\n \r\n \r\n {\r\n Modals.open({\r\n type: Modals.TYPES.CONFIRMATION,\r\n props: {\r\n title: \"Send welcome email\",\r\n message: `Are you sure you want to send welcome email to ${user.Email}?`,\r\n onConfirm: () => {\r\n return Utils.request({\r\n url:\r\n \"/backend/users/sendwelcomeemail?userName=\" +\r\n encodeURIComponent(user.UserName),\r\n method: \"POST\",\r\n });\r\n },\r\n },\r\n });\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n {!user ? null : getDateDiff(user.LastLogIn)}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Email\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n First Name\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Last Name\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n Groups\r\n \r\n \r\n \r\n history.push(\"/user/\" + userName + \"/edit/groups\")\r\n }\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n onSuccess={(data) => {\r\n\r\n //if the current user has changed their username\r\n if(userInfo.userName === userName && userName !== data.Email){\r\n logoutUser();\r\n }else{\r\n history.push(\"/users\");\r\n }\r\n }}\r\n onCancel={() => { }}\r\n />\r\n )\r\n }\r\n \r\n \r\n );\r\n};\r\n\r\nexport default withStyles(styles)(withUserInfo(withAuth(withRouter(EditUser))));\r\n\r\n","//@ts-check\r\nimport React from \"react\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport { Grid, FormLabel } from \"@material-ui/core\";\r\nimport PageLayout from \"../../../../components/PageLayout\";\r\nimport PageAvatar from \"../../../../components/PageAvatar\";\r\nimport SubTitle from \"../../../../components/SubTitle\";\r\nimport { Form, Utils, withUserInfo, Modals } from \"ecrion-components\";\r\n\r\nconst ChooseEmailPage = ({ history, userInfo, setEmail, setCreateNewUser }) => {\r\n return (\r\n \r\n \r\n user\r\n \r\n {\r\n const errors = {};\r\n if (!data.Email)\r\n errors.Email = \"Email is required\";\r\n\r\n return errors;\r\n }}\r\n renderContent={() => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n Email\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n submitLabel=\"Continue\"\r\n onSuccess={(data) => {\r\n return Utils.request({\r\n url: `/backend/environments?email=${encodeURIComponent(\r\n data.Email\r\n )}&throwErrorIfNotExists=false`,\r\n method: \"GET\",\r\n }).then((environments) => {\r\n if (!environments) return;\r\n\r\n if (environments.length === 0) {\r\n setCreateNewUser(true);\r\n setEmail(data.Email);\r\n return;\r\n }\r\n\r\n if (\r\n environments.findIndex(\r\n (e) =>\r\n e.toLowerCase() === userInfo.environmentName.toLowerCase()\r\n ) > -1\r\n ) {\r\n Modals.open({\r\n type: \"ALERT\",\r\n props: {\r\n title: \"Error\",\r\n message: `A user with the email ${data.Email} already exists in your organization. Please insert another one.`,\r\n },\r\n });\r\n return;\r\n } else {\r\n Modals.open({\r\n type: \"YES_NO\",\r\n props: {\r\n title: \"A user with same email exist in other organization\",\r\n message: `Would you like to grant access or add a new user with the same email?`,\r\n yes: {\r\n label: \"Grant Access\",\r\n onClick: () => {\r\n setCreateNewUser(false);\r\n setEmail(data.Email);\r\n },\r\n },\r\n no: {\r\n label: \"Add New User\",\r\n onClick: () => {\r\n setCreateNewUser(true);\r\n setEmail(data.Email);\r\n },\r\n },\r\n },\r\n });\r\n }\r\n });\r\n }}\r\n onCancel={() => { }}\r\n />\r\n \r\n );\r\n};\r\n\r\nexport default withUserInfo(withRouter(ChooseEmailPage));\r\n","//@ts-check\r\nimport React from \"react\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport { Grid, FormLabel, Chip } from \"@material-ui/core\";\r\nimport PageLayout from \"../../../../components/PageLayout\";\r\nimport PageAvatar from \"../../../../components/PageAvatar\";\r\nimport SubTitle from \"../../../../components/SubTitle\";\r\nimport { Form, withUserInfo, Icon } from \"ecrion-components\";\r\n\r\nconst formGridProps = {\r\n alignItems: \"center\",\r\n};\r\n\r\nconst GrantAccessPage = ({ history, email, back }) => {\r\n return (\r\n \r\n
\r\n \r\n user\r\n \r\n }\r\n label={email}\r\n onDelete={back}\r\n />\r\n \r\n
\r\n (\r\n \r\n \r\n \r\n \r\n \r\n Groups\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n onSuccess={() => {\r\n history.push(\"/users\");\r\n }}\r\n submitLabel=\"Grant\"\r\n onCancel={() => {}}\r\n />\r\n \r\n );\r\n};\r\n\r\nexport default withUserInfo(withRouter(GrantAccessPage));\r\n","//@ts-check\r\nimport React from \"react\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport { Grid, FormLabel, Chip } from \"@material-ui/core\";\r\nimport PageLayout from \"../../../../components/PageLayout\";\r\nimport PageAvatar from \"../../../../components/PageAvatar\";\r\nimport SubTitle from \"../../../../components/SubTitle\";\r\nimport { Form, withUserInfo, Icon } from \"ecrion-components\";\r\nimport { withStyles, createStyles } from \"@material-ui/core/styles\";\r\n\r\nconst formGridProps = {\r\n alignItems: \"center\",\r\n};\r\n\r\nconst styles = (theme) =>\r\n createStyles({\r\n avatar: {\r\n \"&:hover\": {\r\n backgroundColor: \"blue !important\",\r\n },\r\n },\r\n avatarContainer: {\r\n margin: \"auto\",\r\n \"& div\": {\r\n \"&:focus\": {\r\n outline: \"0px\",\r\n },\r\n \"&:hover\": {\r\n cursor: \"pointer\",\r\n },\r\n },\r\n },\r\n notVisible: {\r\n position: 'absolute',\r\n top: '-9999px', \r\n left: '-9999px',\r\n }\r\n });\r\n\r\nconst CreateUserPage = ({ history, email, back, classes }) => {\r\n function getPageAvatar(file) {\r\n if (!file) {\r\n return (\r\n \r\n user\r\n \r\n }\r\n label={email}\r\n onDelete={back}\r\n />\r\n \r\n );\r\n }\r\n\r\n return (\r\n \r\n user\r\n \r\n }\r\n label={email}\r\n onDelete={back}\r\n />\r\n \r\n );\r\n }\r\n\r\n return (\r\n \r\n {\r\n const errors = {};\r\n if(data.Groups == null || !data.Groups.includes(\"Everyone\"))\r\n errors.Groups = \"Everyone group cannot be removed\";\r\n\r\n if (data.AutoGenerate === false && data.Password && data.Password.length < 6)\r\n errors.UserPassword = \"Password must have at least 6 characters\";\r\n\r\n if (data.AutoGenerate === false && data.ConfirmPassword !== data.Password)\r\n errors.ConfirmPassword = \"Confirm password doesn't match\";\r\n\r\n return errors;\r\n }}\r\n renderContent={() => (\r\n \r\n \r\n \r\n
\r\n \r\n {(file) => getPageAvatar(file)}\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n First Name\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Last Name\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n Groups\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* the below fields are added here to take the autocomplete option out of the rest of fields. Please do not remove!!! */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Password\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Confirm Password\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n )}\r\n onSuccess={() => {\r\n history.push(\"/users\");\r\n }}\r\n submitLabel=\"Create\"\r\n onCancel={() => { }}\r\n />\r\n \r\n );\r\n};\r\n\r\nexport default withStyles(styles)(withUserInfo(withRouter(CreateUserPage)));\r\n","//@ts-check\r\nimport React, { useState } from \"react\";\r\nimport ChooseEmailPage from \"./ChooseEmailPage\";\r\nimport GrantAccessPage from \"./GrantAccessPage\";\r\nimport CreateUserPage from \"./CreateUserPage\";\r\n\r\nconst NewLocalUser = () => {\r\n const [email, setEmail] = useState(null);\r\n const [createNewUser, setCreateNewUser] = useState(true);\r\n\r\n function back() {\r\n setEmail(null);\r\n setCreateNewUser(true);\r\n }\r\n\r\n return email ? (\r\n createNewUser ? (\r\n \r\n ) : (\r\n \r\n )\r\n ) : (\r\n \r\n );\r\n};\r\n\r\nexport default NewLocalUser;\r\n","//@ts-check\r\nimport React from \"react\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport { Grid, FormLabel } from \"@material-ui/core\";\r\nimport PageLayout from \"../../../components/PageLayout\";\r\nimport PageAvatar from \"../../../components/PageAvatar\";\r\nimport SubTitle from \"../../../components/SubTitle\";\r\nimport { Form, withUserInfo } from \"ecrion-components\";\r\nimport { withStyles, createStyles } from \"@material-ui/core/styles\";\r\n\r\nconst formGridProps = {\r\n alignItems: \"center\",\r\n};\r\n\r\nconst styles = (theme) =>\r\n createStyles({\r\n avatar: {\r\n \"&:hover\": {\r\n backgroundColor: \"blue !important\",\r\n },\r\n },\r\n avatarContainer: {\r\n margin: \"auto\",\r\n \"& div\": {\r\n \"&:focus\": {\r\n outline: \"0px\",\r\n },\r\n \"&:hover\": {\r\n cursor: \"pointer\",\r\n },\r\n },\r\n },\r\n });\r\n\r\nconst NewUser = ({ history, userInfo, classes }) => {\r\n function getPageAvatar(file) {\r\n if (!file) {\r\n return (\r\n \r\n user\r\n \r\n );\r\n }\r\n\r\n return (\r\n \r\n user\r\n \r\n );\r\n }\r\n\r\n return (\r\n \r\n {\r\n const errors = {};\r\n if (!data.Email)\r\n errors.Email = \"Email is required\";\r\n\r\n return errors;\r\n }}\r\n defaultValue={{\r\n Enabled: true,\r\n AutoGenerate: true,\r\n SendEmailInvitation: true,\r\n Groups: [\"Everyone\"],\r\n SSO: true,\r\n }}\r\n renderContent={() => (\r\n \r\n \r\n \r\n \r\n {(file) => getPageAvatar(file)}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Email\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Groups\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n onSuccess={() => {\r\n history.push(\"/users\" + history.location.search);\r\n }}\r\n onCancel={() => { }}\r\n />\r\n \r\n );\r\n};\r\n\r\nexport default withStyles(styles)(withUserInfo(withRouter(NewUser)));\r\n","//@ts-check\r\nimport React from \"react\";\r\nimport NewLocalUser from \"./NewLocalUser\";\r\nimport NewSSOUser from \"./NewSSOUser\";\r\n\r\nconst NewUser = ({ ssoEnabled }) => {\r\n return ssoEnabled ? : ;\r\n};\r\n\r\nexport default NewUser;\r\n","//@ts-check\r\nimport React, { useState, useEffect } from \"react\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport { withUserInfo, Utils } from \"ecrion-components\";\r\nimport EditUser from \"./Edit\";\r\nimport NewUser from \"./New\";\r\nimport PageLayout from \"../../components/PageLayout\";\r\nimport Loading from \"../../components/Loading\";\r\n\r\nconst User = ({ match }) => {\r\n let userName =\r\n match && match.params && match.params.id ? match.params.id : null;\r\n\r\n const [loading, setLoading] = useState(true);\r\n const [ssoEnabled, setSSOEnabled] = useState(false);\r\n const [editProfileURL, setEditProfileURL] = useState(null);\r\n\r\n useEffect(() => {\r\n Utils.request({\r\n url: `/backend/ssourl`,\r\n }).then((sso) => {\r\n if (sso && sso.Type && sso.Type.toLowerCase() !== \"enterprise\") {\r\n setSSOEnabled(true);\r\n\r\n if (sso.EditProfileUrl) setEditProfileURL(sso.EditProfileUrl);\r\n }\r\n\r\n setLoading(false);\r\n });\r\n }, []);\r\n\r\n return !loading ? (\r\n !userName ? (\r\n \r\n ) : (\r\n \r\n )\r\n ) : (\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default withUserInfo(withRouter(User));\r\n","//@ts-check\r\nimport React from 'react';\r\nimport { Grid, Typography, List, LinearProgress } from '@material-ui/core';\r\nimport { Icon, DataFilter, DataAction } from 'ecrion-components';\r\nimport Item from '../components/Item';\r\nimport SubTitle from '../components/SubTitle';\r\nimport PageLayout from '../components/PageLayout';\r\nimport ProgressiveDataList from '../components/ProgressiveDataList';\r\n\r\nconst buttonProps = {\r\n hoverable: true,\r\n};\r\nconst Groups = ({ history, location }) => {\r\n function deleteGroup(groupName) {\r\n DataAction.item({\r\n dataType: 'group',\r\n id: groupName,\r\n })\r\n .delete({\r\n useConfirmation: true,\r\n })\r\n .then(res => {\r\n history.return('/groups');\r\n });\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n history.push('/group')}\r\n {...buttonProps}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n {({ state }) => {\r\n return (\r\n
\r\n {state.data.length === 0 ? (\r\n state.view.page === 0 ? (\r\n state.view.isLoading ? (\r\n \r\n ) : (\r\n
\r\n {state.view.page === 0 && (\r\n No groups.\r\n )}\r\n
\r\n )\r\n ) : (\r\n
\r\n )\r\n ) : (\r\n \r\n {state.data.map(\r\n group =>\r\n typeof group !== 'undefined' && (\r\n deleteGroup(group.Name),\r\n disabled:\r\n group.Name === 'Administrators' ||\r\n group.Name === 'Everyone',\r\n }}\r\n />\r\n )\r\n )}\r\n \r\n )}\r\n {state.view.isLoading && }\r\n
\r\n );\r\n }}\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default Groups;\r\n","//@ts-check\r\nimport React from 'react';\r\nimport { withRouter } from 'react-router-dom';\r\nimport { Grid, FormLabel, Typography } from '@material-ui/core';\r\nimport PageLayout from '../../components/PageLayout';\r\nimport PageAvatar from '../../components/PageAvatar';\r\nimport { Form, withUserInfo, DataAction } from 'ecrion-components';\r\nimport FormaterDataList from '../../components/FormaterDataList';\r\nimport Button from '../../components/Button';\r\nimport Chip from '../../components/Chip';\r\nimport SubTitle from '../../components/SubTitle';\r\n\r\nconst formGridProps = {\r\n alignItems: 'center',\r\n};\r\n\r\nconst EditGroup = ({ history, userInfo, match }) => {\r\n let groupName =\r\n match && match.params && match.params.id ? match.params.id : null;\r\n const fromDisabled =\r\n groupName === 'Administrators' || groupName === 'Everyone';\r\n\r\n function renderMoreWorkspaceItems(moreNumber) {\r\n if (moreNumber <= 0) return;\r\n\r\n return (\r\n \r\n + {moreNumber} more\r\n \r\n );\r\n }\r\n\r\n function renderWorkspaceItem(workspace) {\r\n return ;\r\n }\r\n\r\n function renderMoreUsersItems(moreNumber) {\r\n if (moreNumber <= 0) return;\r\n\r\n return (\r\n \r\n + {moreNumber} more\r\n \r\n );\r\n }\r\n\r\n function renderUserItem(user) {\r\n return ;\r\n }\r\n\r\n function deleteGroup() {\r\n DataAction.item({\r\n dataType: 'group',\r\n id: groupName,\r\n })\r\n .delete({\r\n useConfirmation: true,\r\n })\r\n .then(res => {\r\n history.return('/groups');\r\n });\r\n }\r\n\r\n return (\r\n \r\n {userInfo.environmentName && (\r\n {\r\n const errors = {};\r\n if (!data.Name)\r\n errors.Name = 'Name is required';\r\n\r\n return errors;\r\n }}\r\n renderFooterLeft={() =>\r\n !fromDisabled && (\r\n deleteGroup()}\r\n style={{ marginLeft: 8 }}\r\n >\r\n Delete Group\r\n \r\n )\r\n }\r\n renderContent={() => (\r\n \r\n \r\n \r\n group\r\n \r\n \r\n {groupName}\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n Name\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Workspaces\r\n \r\n \r\n \r\n history.push('/group/' + groupName + '/workspaces')\r\n }\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n Users\r\n \r\n \r\n \r\n history.push('/group/' + groupName + '/users')\r\n }\r\n />\r\n {/* \r\n history.push('/group/' + groupName + '/users')\r\n }\r\n style={{ marginLeft: 8 }}\r\n >\r\n Manage Users\r\n */}\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n onSuccess={() => {\r\n history.return('/groups');\r\n }}\r\n onCancel={() => { }}\r\n />\r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default withUserInfo(withRouter(EditGroup));\r\n","//@ts-check\r\nimport React from 'react';\r\nimport { withRouter } from 'react-router-dom';\r\nimport { Grid, FormLabel } from '@material-ui/core';\r\nimport PageLayout from '../../components/PageLayout';\r\nimport PageAvatar from '../../components/PageAvatar';\r\nimport { Form, withUserInfo } from 'ecrion-components';\r\nimport SubTitle from '../../components/SubTitle';\r\n\r\nconst formGridProps = {\r\n alignItems: 'center',\r\n};\r\n\r\nconst fieldStyle = {\r\n paddingTop: \"8px\",\r\n};\r\n\r\nconst NewGroup = ({ history, userInfo }) => {\r\n return (\r\n \r\n {userInfo.environmentName && (\r\n {\r\n const errors = {};\r\n if (!data.Name)\r\n errors.Name = 'Name is required';\r\n\r\n return errors;\r\n }}\r\n defaultValue={{\r\n Enabled: true,\r\n AutoGenerate: true,\r\n }}\r\n renderContent={() => (\r\n \r\n \r\n \r\n group\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Name\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Workspaces\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n onSuccess={() => {\r\n history.push('/groups' + history.location.search);\r\n }}\r\n onCancel={() => { }}\r\n />\r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default withUserInfo(withRouter(NewGroup));\r\n","//@ts-check\r\nimport React from \"react\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport { withUserInfo } from \"ecrion-components\";\r\nimport EditGroup from \"./subpages/EditGroup\";\r\nimport NewGroup from \"./subpages/NewGroup\";\r\n\r\nconst Group = ({ history, userInfo, match }) => {\r\n let userName =\r\n match && match.params && match.params.id ? match.params.id : null;\r\n\r\n return !userName ? (\r\n \r\n ) : (\r\n \r\n );\r\n};\r\n\r\nexport default withUserInfo(withRouter(Group));\r\n","//@ts-check\r\nimport React from 'react';\r\nimport { Grid, Typography, List, LinearProgress } from '@material-ui/core';\r\nimport { Icon, DataFilter, DataAction, withUserInfo } from 'ecrion-components';\r\nimport Item from '../components/Item';\r\nimport PageLayout from '../components/PageLayout';\r\nimport ProgressiveDataList from '../components/ProgressiveDataList';\r\nimport PageAvatar from '../components/PageAvatar';\r\nimport SubTitle from '../components/SubTitle';\r\nimport { getDisplayName } from '../utils/getDisplayName';\r\n\r\nconst buttonProps = {\r\n hoverable: true,\r\n};\r\n\r\nconst EditGroupUsers = ({ history, location, match, userInfo }) => {\r\n let groupName =\r\n match && match.params && match.params.id ? match.params.id : null;\r\n\r\n function renderHeader() {\r\n return (\r\n \r\n \r\n group\r\n \r\n \r\n {groupName}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n history.push('/group/' + groupName + '/users/add')}\r\n {...buttonProps}\r\n />\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n function removeUser(id) {\r\n DataAction.item({\r\n dataType: 'groupUsers',\r\n id: id,\r\n dataProps: {\r\n groupName: groupName,\r\n },\r\n }).delete({\r\n useConfirmation: true,\r\n message:\r\n 'Are you sure you want to remove user ' +\r\n id +\r\n ' from group ' +\r\n groupName +\r\n '?',\r\n });\r\n }\r\n\r\n return (\r\n \r\n {renderHeader()}\r\n \r\n \r\n \r\n {({ state }) => {\r\n return (\r\n
\r\n {state.data.length === 0 ? (\r\n state.view.isLoading ? (\r\n \r\n ) : (\r\n
\r\n No users.\r\n
\r\n )\r\n ) : (\r\n \r\n {state.data.map(\r\n user =>\r\n typeof user !== 'undefined' && (\r\n removeUser(user.UserName),\r\n disabled: groupName === 'Everyone' || (groupName === 'Administrators' && userInfo.userName === user.UserName),\r\n }}\r\n />\r\n )\r\n )}\r\n \r\n )}\r\n {state.view.isLoading && }\r\n
\r\n );\r\n }}\r\n \r\n
\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default withUserInfo(EditGroupUsers);\r\n","//@ts-check\r\nimport React from 'react';\r\nimport { withRouter } from 'react-router-dom';\r\nimport { Grid, FormLabel, Typography } from '@material-ui/core';\r\nimport PageLayout from '../components/PageLayout';\r\nimport PageAvatar from '../components/PageAvatar';\r\nimport SubTitle from '../components/SubTitle';\r\nimport { Form, withUserInfo } from 'ecrion-components';\r\n\r\nconst formGridProps = {\r\n alignItems: 'center',\r\n};\r\n\r\nconst EditGroup = ({ history, userInfo, match }) => {\r\n let groupName =\r\n match && match.params && match.params.id ? match.params.id : null;\r\n\r\n function renderHeader() {\r\n return (\r\n \r\n \r\n group\r\n \r\n \r\n {groupName}\r\n \r\n \r\n );\r\n }\r\n\r\n return (\r\n \r\n {\r\n const errors = {};\r\n if (!data.UserName) errors.Name = 'Empty username is not allowed';\r\n\r\n return errors.Name;\r\n }}\r\n submitLabel=\"Add\"\r\n submittingLabel=\"Adding...\"\r\n defaultValue={{\r\n groupName: groupName,\r\n }}\r\n renderContent={() => (\r\n \r\n {renderHeader()}\r\n \r\n \r\n \r\n \r\n \r\n User\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n onSuccess={() => {\r\n history.return(`/group/${groupName}/users`);\r\n }}\r\n onCancel={() => { }}\r\n />\r\n \r\n );\r\n};\r\n\r\nexport default withUserInfo(withRouter(EditGroup));\r\n","//@ts-check\r\nimport React, { useState } from \"react\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport { Grid, FormLabel, Tooltip } from \"@material-ui/core\";\r\nimport PageLayout from \"../components/PageLayout\";\r\nimport PageAvatar from \"../components/PageAvatar\";\r\nimport { Form, withUserInfo, Icon, Utils, Modals } from \"ecrion-components\";\r\nimport { withStyles, createStyles } from \"@material-ui/core/styles\";\r\nimport SubTitle from \"../components/SubTitle\";\r\nimport { useSettings } from \"../context/SettingsContext\";\r\nimport Button from \"../components/Button\";\r\n\r\nconst formGridProps = {\r\n alignItems: \"center\",\r\n};\r\n\r\nconst deleteLogoButtonProps = {\r\n width: \"3px\",\r\n height: \"3px\",\r\n float: \"right\",\r\n padding: \"1px\",\r\n fontSize: \"14px\",\r\n};\r\n\r\nconst styles = (theme) =>\r\n createStyles({\r\n organizationAvatar: {\r\n \"&:hover\": {\r\n backgroundColor: \"blue !important\",\r\n },\r\n },\r\n organizationAvatarContainer: {\r\n margin: \"auto\",\r\n \"& div\": {\r\n \"&:focus\": {\r\n outline: \"0px\",\r\n },\r\n \"&:hover\": {\r\n cursor: \"pointer\",\r\n },\r\n },\r\n },\r\n organizationLogoWrapper: {\r\n width: 96,\r\n height: 96,\r\n border: \"1px solid #000000\",\r\n borderRadius: \"50%\",\r\n margin: \"auto\",\r\n display: \"flex\",\r\n justifyContent: \"center\",\r\n },\r\n organizationLogo: {\r\n width: \"50px\",\r\n },\r\n });\r\n\r\nconst Organization = ({ history, userInfo, classes }) => {\r\n const [hasLogo, setHasLogo] = useState(false);\r\n const [refreshLogo, setRefreshLogo] = useState(0);\r\n\r\n const settings = useSettings();\r\n\r\n function getPageAvatar(file) {\r\n if (file) setHasLogo(true);\r\n else setHasLogo(false);\r\n\r\n return !file ? (\r\n
\r\n \r\n
\r\n ) : (\r\n organization \r\n );\r\n }\r\n\r\n function deleteOrganizationLogo() {\r\n Modals.open({\r\n type: Modals.TYPES.CONFIRMATION,\r\n props: {\r\n title: `Remove logo`,\r\n message: `Are you sure you want to remove your organization logo?`,\r\n onConfirm: () => {\r\n return Utils.request({\r\n url: `/backend/organization`,\r\n method: \"DELETE\",\r\n }).then(() => {\r\n setRefreshLogo(refreshLogo + 1);\r\n });\r\n },\r\n },\r\n });\r\n }\r\n\r\n return (\r\n \r\n {userInfo.environmentName && (\r\n (\r\n \r\n \r\n \r\n \r\n {hasLogo && (\r\n deleteOrganizationLogo()}\r\n />\r\n )}\r\n \r\n \r\n \r\n {(file) => getPageAvatar(file)}\r\n \r\n \r\n \r\n \r\n \r\n history.push(\"/workspaces\")}\r\n />\r\n \r\n \r\n history.push(\"/licensing\")}\r\n hoverable\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Organization Name\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Default Timezone\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n onSuccess={(data) => {\r\n history.push(\"/?environment=\" + encodeURIComponent(data.Name));\r\n }}\r\n onCancel={() => {}}\r\n renderFooterLeft={() =>\r\n settings &&\r\n !settings.CloudDeployment && (\r\n {\r\n history.push(\"/sso\");\r\n }}\r\n >\r\n Configure Single Sign-On\r\n \r\n )\r\n }\r\n />\r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default withStyles(styles)(withUserInfo(withRouter(Organization)));\r\n","//@ts-check\r\n\r\nimport { FormLabel, Grid, Tooltip } from \"@material-ui/core\";\r\nimport { Form, Icon, Utils, withUserInfo, DataAction } from \"ecrion-components\";\r\nimport React, { useRef, useState, useEffect } from \"react\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport Button from \"../components/Button\";\r\nimport PageAvatar from \"../components/PageAvatar\";\r\nimport PageLayout from \"../components/PageLayout\";\r\nimport SubTitle from \"../components/SubTitle\";\r\nimport { useSettings } from \"../context/SettingsContext\";\r\n\r\nconst formGridProps = {\r\n alignItems: \"center\",\r\n style: { minHeight: 62 },\r\n};\r\n\r\nconst formMapProps = {\r\n minWidth: \"auto\",\r\n marginLeft: \"auto\",\r\n top: \"-40px\",\r\n right: \"-40px\",\r\n position: \"relative\",\r\n};\r\n\r\nconst SSO = ({ history, userInfo }) => {\r\n const settings = useSettings();\r\n const [environmentId, setEnvironmentId] = useState(null);\r\n const [loading, setIsLoading] = useState(true);\r\n const ACSURLRef = useRef(null);\r\n\r\n function openTestPage() {\r\n if (settings != null) {\r\n window.open(\r\n settings.FormatedWebsiteURL +\r\n \"/Security/Login?environment=\" +\r\n userInfo.environmentName +\r\n \"&RelayState=\" +\r\n settings.FormatedWebsiteURL +\r\n \"/home\",\r\n \"_blank\"\r\n );\r\n }\r\n }\r\n\r\n function getACSURL(userInfo) {\r\n if (settings !== null) {\r\n return (\r\n settings.FormatedWebsiteURL +\r\n \"/Security/ConsumeSAMLToken?environment=\" +\r\n userInfo.environmentName\r\n );\r\n }\r\n }\r\n\r\n function validateForm(values) {\r\n const errors = {};\r\n if (values.Type == null) errors.Type = \"Protocol is required\";\r\n if (values.URL == null) errors.URL = \"Login URL is required\";\r\n if (values.LogOutURL == null) errors.LogOutURL = \"Logout URL is required\";\r\n if (values.X509Certificate == null)\r\n errors.X509Certificate = \"Certificate is required\";\r\n return errors;\r\n }\r\n\r\n function validateMappings(values) {\r\n const errors = {};\r\n\r\n if (values != null && Array.isArray(values)) {\r\n let mappingsDoneCount = 0;\r\n let keys = values.map((val) => val != null && val.EOSField);\r\n\r\n values.forEach((element) => {\r\n let input = element.SSOField;\r\n let select = element.EOSField;\r\n if (input != null && select != null) {\r\n if (\r\n (input.length !== 0 && select.length !== 0) ||\r\n (input.length === 0 && select.length === 0)\r\n )\r\n ++mappingsDoneCount;\r\n }\r\n });\r\n\r\n if (\r\n mappingsDoneCount !== values.length ||\r\n new Set(keys).size !== keys.length\r\n )\r\n errors.Mappings = \"Mappings are not correct.\";\r\n }\r\n\r\n return errors;\r\n }\r\n\r\n useEffect(() => {\r\n Utils.request({\r\n method: \"GET\",\r\n url: \"/backend/ssourl\",\r\n dataType: \"json\",\r\n }).then((sso) => {\r\n if (sso !== null && sso.EnvironmentId !== null) {\r\n setEnvironmentId(sso.EnvironmentId);\r\n setIsLoading(false);\r\n }\r\n });\r\n }, []);\r\n\r\n function removeSSO() {\r\n DataAction.item({\r\n dataType: \"sso\",\r\n })\r\n .delete({\r\n useConfirmation: true,\r\n })\r\n .then((response) => {\r\n if (response && response.payload && response.payload.RedirectURL)\r\n window.location.href = response.payload.RedirectURL;\r\n else history.push(\"/organization\");\r\n });\r\n }\r\n\r\n return (\r\n \r\n {!loading && (\r\n (\r\n \r\n \r\n {!userInfo.EnvironmentLogo ? (\r\n \r\n organization\r\n \r\n ) : (\r\n user\r\n )}\r\n {environmentId ? (\r\n \r\n \r\n \r\n \r\n \r\n ) : (\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Protocol\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ACS URL\r\n \r\n \r\n \r\n \r\n Utils.copyToClipboard(\r\n getACSURL(userInfo),\r\n ACSURLRef.current\r\n )\r\n }\r\n >\r\n Copy to clipboard\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Log-in URL\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Log-out URL\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Signing Certificate\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Edit Profile URL\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {({ fields }) => (\r\n \r\n {fields.length > 0 && (\r\n \r\n \r\n Enage Fields\r\n \r\n \r\n \r\n IDP Fields\r\n \r\n \r\n )}\r\n {fields.map((name, index) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n fields.remove(index)}\r\n />\r\n \r\n \r\n ))}\r\n \r\n fields.push(\"\")}\r\n style={\r\n fields.length !== 0 ? { ...formMapProps } : {}\r\n }\r\n >\r\n {fields.length !== 0 ? \"+\" : \"Add Mapping\"}\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n renderFooterLeft={() =>\r\n environmentId ? (\r\n removeSSO()}\r\n style={{ marginLeft: 8 }}\r\n >\r\n Remove\r\n \r\n ) : (\r\n \r\n )\r\n }\r\n onSuccess={() => {\r\n history.push(\"/organization\");\r\n }}\r\n onCancel={() => {}}\r\n />\r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default withUserInfo(withRouter(SSO));\r\n","// @ts-nocheck\r\n\r\nimport React from 'react';\r\nimport { withRouter } from 'react-router-dom';\r\nimport { Icon, DataFilter, DataAction } from 'ecrion-components';\r\nimport { LinearProgress, Typography, List, Grid } from '@material-ui/core';\r\nimport Item from '../components/Item';\r\nimport PageLayout from '../components/PageLayout';\r\nimport ProgressiveDataList from '../components/ProgressiveDataList';\r\nimport SubTitle from '../components/SubTitle';\r\n\r\nconst buttonProps = {\r\n hoverable: true,\r\n};\r\n\r\nconst Organization = ({ history, location }) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n history.push('/workspace' + history.location.search)\r\n }\r\n {...buttonProps}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n {({ state }) => {\r\n return (\r\n
\r\n {state.data.length === 0 ? (\r\n state.view.page === 0 ? (\r\n state.view.isLoading ? (\r\n \r\n ) : (\r\n
\r\n {state.view.page === 0 && (\r\n \r\n No workspaces.\r\n \r\n )}\r\n
\r\n )\r\n ) : (\r\n
\r\n )\r\n ) : (\r\n \r\n {state.data.map(\r\n workspace =>\r\n typeof workspace !== 'undefined' && (\r\n \r\n DataAction.item({\r\n dataType: 'workspace',\r\n id: workspace.Name,\r\n })\r\n .delete({\r\n useConfirmation: true,\r\n })\r\n .then(() => history.push('/workspaces')),\r\n }}\r\n />\r\n )\r\n )}\r\n \r\n )}\r\n {state.view.isLoading && }\r\n
\r\n );\r\n }}\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default withRouter(Organization);\r\n","//@ts-check\r\nimport React from 'react';\r\nimport { withRouter } from 'react-router-dom';\r\nimport PageLayout from '../components/PageLayout';\r\nimport PageAvatar from '../components/PageAvatar';\r\nimport Button from '../components/Button';\r\nimport { Form, DataAction } from 'ecrion-components';\r\nimport { Grid, FormLabel } from '@material-ui/core';\r\nimport SubTitle from '../components/SubTitle';\r\n\r\nconst formGridProps = {\r\n alignItems: 'center',\r\n};\r\n\r\nconst Workspace = ({ match, history }) => {\r\n let workspaceId =\r\n match && match.params && match.params.id ? match.params.id : null;\r\n\r\n return (\r\n \r\n (\r\n \r\n \r\n \r\n workspace\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Name\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n renderFooterLeft={() =>\r\n workspaceId ? (\r\n \r\n DataAction.item({\r\n dataType: 'workspace',\r\n id: workspaceId,\r\n })\r\n .delete({\r\n useConfirmation: true,\r\n })\r\n .then(() => history.push('/workspaces'))\r\n }\r\n >\r\n Delete\r\n \r\n ) : null\r\n }\r\n onSuccess={() => {\r\n history.push('/workspaces');\r\n }}\r\n onCancel={() => {\r\n history.push('/workspaces');\r\n }}\r\n />\r\n \r\n );\r\n};\r\n\r\nexport default withRouter(Workspace);\r\n","//@ts-check\r\n\r\nimport { Grid, Typography, LinearProgress, List } from '@material-ui/core';\r\nimport { DataFilter, Icon, DataAction } from 'ecrion-components';\r\nimport React from 'react';\r\nimport { withRouter } from 'react-router-dom';\r\nimport PageLayout from '../components/PageLayout';\r\nimport ProgressiveDataList from '../components/ProgressiveDataList';\r\nimport Item from '../components/Item';\r\nimport PageAvatar from '../components/PageAvatar';\r\nimport SubTitle from '../components/SubTitle';\r\n\r\nconst buttonProps = {\r\n hoverable: true,\r\n};\r\n\r\nconst GroupWorkspaces = ({ history, location, match }) => {\r\n let groupName =\r\n match && match.params && match.params.id ? match.params.id : null;\r\n\r\n function renderHeader() {\r\n return (\r\n \r\n \r\n group\r\n \r\n \r\n {groupName}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n history.push(\r\n '/group/' +\r\n groupName +\r\n '/workspaces/add' +\r\n history.location.search\r\n )\r\n }\r\n {...buttonProps}\r\n />\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n function removeWorkspacePermissions(id) {\r\n DataAction.item({\r\n dataType: 'groupWorkspaces',\r\n id: id,\r\n dataProps: {\r\n groupName: groupName,\r\n },\r\n }).delete({\r\n useConfirmation: true,\r\n message:\r\n 'Are you sure you want to remove access of group \"' +\r\n groupName +\r\n '\" to workspace \"' +\r\n id +\r\n '\"?',\r\n });\r\n }\r\n\r\n return (\r\n \r\n {renderHeader()}\r\n \r\n \r\n \r\n {({ state }) => {\r\n return (\r\n
\r\n {state.data.length === 0 ? (\r\n state.view.isLoading ? (\r\n \r\n ) : (\r\n
\r\n No workspaces.\r\n
\r\n )\r\n ) : (\r\n \r\n {state.data.map(\r\n groupWorkspace =>\r\n typeof groupWorkspace !== 'undefined' && (\r\n \r\n removeWorkspacePermissions(\r\n groupWorkspace.WorkspaceName\r\n ),\r\n }}\r\n />\r\n )\r\n )}\r\n \r\n )}\r\n {state.view.isLoading && }\r\n
\r\n );\r\n }}\r\n \r\n
\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default withRouter(GroupWorkspaces);\r\n","//@ts-check\r\n\r\nimport React from 'react';\r\nimport { Grid, Typography, FormLabel } from '@material-ui/core';\r\nimport { withRouter } from 'react-router-dom';\r\nimport PageLayout from '../components/PageLayout';\r\nimport PageAvatar from '../components/PageAvatar';\r\nimport { Form } from 'ecrion-components';\r\nimport SubTitle from '../components/SubTitle';\r\n\r\nconst formGridProps = {\r\n alignItems: 'center',\r\n};\r\n\r\nconst EditGroupWorkspacesAdd = ({ history, match }) => {\r\n let groupName =\r\n match && match.params && match.params.id ? match.params.id : null;\r\n\r\n function renderHeader() {\r\n return (\r\n \r\n \r\n group\r\n \r\n \r\n {groupName}\r\n \r\n \r\n );\r\n }\r\n\r\n return (\r\n \r\n {\r\n const errors = {};\r\n if (!data.WorkspaceName)\r\n errors.WorkspaceName = 'Workspace is required';\r\n\r\n return errors;\r\n }}\r\n submitLabel=\"Add\"\r\n submittingLabel=\"Adding...\"\r\n defaultValue={{\r\n groupName: groupName,\r\n }}\r\n renderContent={() => (\r\n \r\n {renderHeader()}\r\n \r\n \r\n \r\n \r\n \r\n Workspace\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n onSuccess={() => {\r\n history.push('/group/' + groupName + '/workspaces');\r\n }}\r\n onCancel={() => { }}\r\n />\r\n \r\n );\r\n};\r\n\r\nexport default withRouter(EditGroupWorkspacesAdd);\r\n","//@ts-check\r\n\r\nimport React from \"react\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport PageLayout from \"../components/PageLayout\";\r\nimport {\r\n Icon,\r\n DataFilter,\r\n DataAction,\r\n DataItem,\r\n withUserInfo,\r\n} from \"ecrion-components\";\r\nimport { Grid, LinearProgress, Typography, List } from \"@material-ui/core\";\r\nimport ProgressiveDataList from \"../components/ProgressiveDataList\";\r\nimport Item from \"../components/Item\";\r\nimport PageAvatar from \"../components/PageAvatar\";\r\nimport SubTitle from \"../components/SubTitle\";\r\nimport { getDisplayName } from \"../utils/getDisplayName\";\r\n\r\nconst buttonProps = {\r\n hoverable: true,\r\n};\r\n\r\nconst UserGroups = ({ history, location, match, userInfo }) => {\r\n let userName =\r\n match && match.params && match.params.id ? match.params.id : null;\r\n\r\n function removeUserGroup(id) {\r\n DataAction.item({\r\n dataType: \"userGroups\",\r\n id: id,\r\n dataProps: {\r\n userName: userName,\r\n },\r\n }).delete({\r\n useConfirmation: true,\r\n message:\r\n \"Are you sure you want to remove user \" +\r\n userName +\r\n \" from group \" +\r\n id +\r\n \"?\",\r\n });\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n {({ value: user }) =>\r\n user ? (\r\n user.ProfileImage ? (\r\n user\r\n ) : (\r\n \r\n {getDisplayName(user.FirstName, user.LastName, user.UserName)}\r\n \r\n )\r\n ) : (\r\n
\r\n )\r\n }\r\n \r\n \r\n {userName}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n history.push(\r\n \"/user/\" + userName + \"/groups/add\" + history.location.search\r\n )\r\n }\r\n {...buttonProps}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n {({ state }) => {\r\n return (\r\n
\r\n {state.data.length === 0 ? (\r\n state.view.isLoading ? (\r\n \r\n ) : (\r\n
\r\n No groups.\r\n
\r\n )\r\n ) : (\r\n \r\n {state.data.map(\r\n (group) =>\r\n typeof group !== \"undefined\" && (\r\n removeUserGroup(group.Name),\r\n disabled:\r\n group.Name === \"Everyone\" ||\r\n (group.Name === \"Administrators\" &&\r\n userInfo.userName === userName),\r\n }}\r\n />\r\n )\r\n )}\r\n \r\n )}\r\n {state.view.isLoading && }\r\n
\r\n );\r\n }}\r\n \r\n
\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default withUserInfo(withRouter(UserGroups));\r\n","//@ts-check\r\n\r\nimport React from 'react';\r\nimport { withRouter } from 'react-router-dom';\r\nimport PageLayout from '../components/PageLayout';\r\nimport { Form } from 'ecrion-components';\r\nimport { Grid, Typography, FormLabel } from '@material-ui/core';\r\nimport PageAvatar from '../components/PageAvatar';\r\n\r\nconst formGridProps = {\r\n alignItems: 'center',\r\n};\r\n\r\nconst UserGroupsAdd = ({ history, match }) => {\r\n let userName =\r\n match && match.params && match.params.id ? match.params.id : null;\r\n\r\n return (\r\n \r\n {\r\n const errors = {};\r\n if (!data.userName)\r\n errors.userName = 'User is required';\r\n\r\n return errors;\r\n }}\r\n submitLabel=\"Add\"\r\n submittingLabel=\"Adding...\"\r\n defaultValue={{\r\n userName: userName,\r\n }}\r\n renderContent={() => (\r\n \r\n \r\n user\r\n \r\n \r\n {userName}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Group\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n onSuccess={() => {\r\n history.push('/user/' + userName + '/edit/groups');\r\n }}\r\n onCancel={() => { }}\r\n />\r\n \r\n );\r\n};\r\n\r\nexport default withRouter(UserGroupsAdd);\r\n","// @ts-nocheck\r\n\r\nimport React from 'react';\r\nimport { Icon, DataFilter, DataAction } from 'ecrion-components';\r\nimport { LinearProgress, Typography, List, Grid } from '@material-ui/core';\r\nimport Item from '../components/Item';\r\nimport PageLayout from '../components/PageLayout';\r\nimport ProgressiveDataList from '../components/ProgressiveDataList';\r\nimport SubTitle from '../components/SubTitle';\r\n\r\nconst buttonProps = {\r\n hoverable: true,\r\n};\r\n\r\nconst Categories = ({ history, location }) => {\r\n function removeCategory(name) {\r\n DataAction.item({\r\n dataType: 'availableModuleCategory',\r\n id: name,\r\n })\r\n .delete({\r\n useConfirmation: true,\r\n })\r\n .then();\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n history.push('/category' + history.location.search)\r\n }\r\n label=\"Add\"\r\n tooltipPlacement=\"bottom\"\r\n {...buttonProps}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n {({ state }) => {\r\n return (\r\n
\r\n {state.data.length === 0 ? (\r\n state.view.isLoading ? (\r\n \r\n ) : (\r\n
\r\n No categories.\r\n
\r\n )\r\n ) : (\r\n \r\n {state.data.map(\r\n category =>\r\n typeof category !== 'undefined' && (\r\n removeCategory(category.Name),\r\n }}\r\n />\r\n )\r\n )}\r\n \r\n )}\r\n {state.view.isLoading && }\r\n
\r\n );\r\n }}\r\n \r\n
\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default Categories;\r\n","//@ts-check\r\nimport React from \"react\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport { Grid, FormLabel } from \"@material-ui/core\";\r\nimport PageLayout from \"../../components/PageLayout\";\r\nimport PageAvatar from \"../../components/PageAvatar\";\r\nimport { Form, DataAction } from \"ecrion-components\";\r\nimport Button from \"../../components/Button\";\r\nimport SubTitle from \"../../components/SubTitle\";\r\n\r\nconst formGridProps = {\r\n alignItems: \"center\",\r\n};\r\n\r\nconst EditCategory = ({ history, match }) => {\r\n let name = match && match.params && match.params.id ? match.params.id : null;\r\n\r\n function removeCategory() {\r\n DataAction.item({\r\n dataType: \"availableModuleCategory\",\r\n id: name,\r\n })\r\n .delete({\r\n useConfirmation: true,\r\n })\r\n .then((res) => {\r\n history.goBack();\r\n });\r\n }\r\n\r\n return (\r\n \r\n (\r\n removeCategory()}\r\n style={{ marginLeft: 8 }}\r\n >\r\n Delete Category\r\n \r\n )}\r\n renderContent={() => (\r\n \r\n \r\n \r\n category\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Name\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Order\r\n \r\n \r\n \r\n \r\n value < 1 && \"Order number should be greater than 0\"\r\n }\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Layout\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n onSuccess={() => {\r\n history.push(\"/categories\");\r\n }}\r\n onCancel={() => {}}\r\n />\r\n \r\n );\r\n};\r\n\r\nexport default withRouter(EditCategory);\r\n","//@ts-check\r\nimport React from \"react\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport { Grid, FormLabel } from \"@material-ui/core\";\r\nimport PageLayout from \"../../components/PageLayout\";\r\nimport PageAvatar from \"../../components/PageAvatar\";\r\nimport SubTitle from \"../../components/SubTitle\";\r\nimport { Form } from \"ecrion-components\";\r\n\r\nconst formGridProps = {\r\n alignItems: \"center\",\r\n};\r\n\r\nconst NewCategory = ({ history }) => {\r\n return (\r\n \r\n (\r\n \r\n \r\n \r\n category\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Name\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Order\r\n \r\n \r\n \r\n \r\n value < 1 && \"Order number should be greater than 0\"\r\n }\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Layout\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n onSuccess={() => {\r\n history.push(\"/categories\");\r\n }}\r\n onCancel={() => {}}\r\n />\r\n \r\n );\r\n};\r\n\r\nexport default withRouter(NewCategory);\r\n","//@ts-check\r\nimport React from 'react';\r\nimport { withRouter } from 'react-router-dom';\r\nimport { withUserInfo } from 'ecrion-components';\r\nimport EditCategory from './subpages/EditCategory';\r\nimport NewCategory from './subpages/NewCategory';\r\n\r\nconst Category = ({ history, match }) => {\r\n let categoryName =\r\n match && match.params && match.params.id ? match.params.id : null;\r\n\r\n return !categoryName ? (\r\n \r\n ) : (\r\n \r\n );\r\n};\r\n\r\nexport default withUserInfo(withRouter(Category));\r\n","import AppLicensing from './AppLicensing';\r\n\r\nexport default AppLicensing;\r\n","//@ts-check\r\n\r\nimport React from \"react\";\r\nimport { withRouter } from \"react-router-dom\";\r\n\r\nconst AppLicensing = ({ history, location }) => {\r\n history.replace(\"/licensing\");\r\n\r\n return <>;\r\n};\r\n\r\nexport default withRouter(AppLicensing);\r\n","//@ts-check\r\nimport React, { useState } from \"react\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport { Icon, DataFilter, DataAction, Modals, Utils } from \"ecrion-components\";\r\nimport { LinearProgress, Typography, List, Grid } from \"@material-ui/core\";\r\nimport Item from \"../../../components/Item\";\r\n\r\nimport ProgressiveDataList from \"../../../components/ProgressiveDataList\";\r\nimport SubTitle from \"../../../components/SubTitle\";\r\nimport { useAccountsAuth } from \"../../../context/AccountsContext\";\r\nimport { useSettings } from \"../../../context/SettingsContext\";\r\n\r\nconst buttonProps = {\r\n hoverable: true,\r\n};\r\n\r\nconst Licensing = ({ history, location, online }) => {\r\n const { token } = useAccountsAuth();\r\n const settings = useSettings();\r\n const [forceRefresh, setForceRefresh] = useState(0);\r\n\r\n function getDescription(license) {\r\n let description = \"\";\r\n let dateStr = \"\";\r\n\r\n if (license.MaintenanceExpirationDate) {\r\n const date = new Date(license.MaintenanceExpirationDate);\r\n const month = date.getMonth() + 1;\r\n dateStr += `${month}/${date.getDate()}/${date.getFullYear()}`;\r\n }\r\n\r\n description += `Used by ${license.AssignedTo.length} of ${license.UsersCount}, expires on ${dateStr}. License Id: ${license.ProductKeyId}`;\r\n\r\n return description;\r\n }\r\n\r\n function hasExpired(license) {\r\n const date = new Date(license.MaintenanceExpirationDate);\r\n const now = new Date();\r\n\r\n return date < now;\r\n }\r\n\r\n function getQueryParameters() {\r\n const parsed = Utils.url.parseUrl(window.location.search).query;\r\n if (\r\n parsed &&\r\n parsed[\"returnUrl\"] &&\r\n (parsed[\"returnUrl\"].startsWith(\"http://\") ||\r\n parsed[\"returnUrl\"].startsWith(\"https://\"))\r\n ) {\r\n const encodedCurrentReturnUrl = encodeURIComponent(parsed[\"returnUrl\"]);\r\n const encodedReturnUrl = encodeURIComponent(\r\n `/licensing?returnUrl=${encodedCurrentReturnUrl}`\r\n );\r\n return `?returnUrl=${encodedReturnUrl}`;\r\n }\r\n\r\n return \"\";\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n history.push(`/licensing/add${getQueryParameters()}`)\r\n }\r\n {...buttonProps}\r\n />\r\n \r\n {online && (\r\n \r\n {\r\n Modals.open({\r\n type: Modals.TYPES.CONFIRMATION,\r\n props: {\r\n title: \"Refresh Licenses\",\r\n message: \"Are you sure you want to refresh licenses?\",\r\n onConfirm: () => {\r\n return Utils.request({\r\n url:\r\n \"/backend/environmentLicensing/refreshLicenses?accountToken=\" +\r\n encodeURIComponent(token),\r\n method: \"PUT\",\r\n }).then(() => {\r\n setForceRefresh(forceRefresh + 1);\r\n });\r\n },\r\n },\r\n });\r\n }}\r\n {...buttonProps}\r\n />\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n {({ state }) => {\r\n return (\r\n
\r\n {state.data.length === 0 ? (\r\n state.view.page === 0 ? (\r\n state.view.isLoading ? (\r\n \r\n ) : (\r\n
\r\n {state.view.page === 0 && (\r\n \r\n No licenses.\r\n \r\n )}\r\n
\r\n )\r\n ) : (\r\n
\r\n )\r\n ) : (\r\n \r\n {state.data.map(\r\n (license) =>\r\n typeof license !== \"undefined\" && (\r\n \r\n )\r\n )}\r\n \r\n )}\r\n {state.view.isLoading && }\r\n
\r\n );\r\n }}\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default withRouter(Licensing);\r\n","import React from \"react\";\r\nimport { useAccountsAuth } from \"../../../context/AccountsContext\";\r\n\r\nfunction AccountsRoute({ component: Component, routePath, ...rest }) {\r\n const { isAuthenticated, signIn } = useAccountsAuth();\r\n\r\n if (!isAuthenticated()) {\r\n signIn({ routePath: routePath });\r\n return
;\r\n }\r\n\r\n return ;\r\n}\r\n\r\nexport default AccountsRoute;\r\n","//@ts-check\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport { Utils } from \"ecrion-components\";\r\nimport { LinearProgress } from \"@material-ui/core\";\r\nimport { useSettings } from \"../../context/SettingsContext\";\r\nimport Licenses from \"./components/Licenses\";\r\nimport AccountsRoute from \"./components/AccountsRoute\";\r\nimport PageLayout from \"../../components/PageLayout\";\r\n\r\nconst Licensing = ({ history, location }) => {\r\n const settings = useSettings();\r\n const [isLoading, setIsLoading] = useState(true);\r\n const [online, setOnline] = useState(false);\r\n const { pathname, search } = location;\r\n\r\n useEffect(() => {\r\n settings &&\r\n Utils.request({\r\n url: \"/backend/environmentLicensing/status\",\r\n }).then(\r\n function () {\r\n setOnline(true);\r\n setIsLoading(false);\r\n },\r\n function () {\r\n setOnline(false);\r\n setIsLoading(false);\r\n }\r\n );\r\n }, [settings]);\r\n\r\n return (\r\n \r\n {isLoading ? (\r\n \r\n ) : online ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default withRouter(Licensing);\r\n","//@ts-check\r\nimport React, { useState, useEffect, useRef } from \"react\";\r\nimport { Form, Utils, Button } from \"ecrion-components\";\r\nimport { Grid, FormLabel } from \"@material-ui/core\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport { withStyles } from \"@material-ui/core/styles\";\r\n\r\nconst AddLicense = ({ match, history, theme }) => {\r\n const [offlineRequestKey, setOfflineRequestKey] = useState(null);\r\n\r\n const keyPreview = useRef(null);\r\n\r\n useEffect(() => {\r\n Utils.request({\r\n url: \"/backend/environmentLicensing/getInstallOfflineKey\"\r\n }).then(function(key) {\r\n setOfflineRequestKey(key);\r\n });\r\n }, []);\r\n\r\n function renderContent() {\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n Step 1. Log-in into your Ecrion Account and follow the\r\n instructions to activate a product for this environment. You\r\n will need the following request key:\r\n \r\n \r\n \r\n \r\n \r\n Utils.copyToClipboard(offlineRequestKey, keyPreview.current)\r\n }\r\n >\r\n Copy to clipboard\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Step 2. Copy and paste the activation key in the box below:\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n\r\n return (\r\n renderContent()}\r\n onSuccess={() => {\r\n history.return(\"/licensing\");\r\n }}\r\n onCancel={() => {}}\r\n />\r\n );\r\n};\r\n\r\nexport default withStyles({}, { withTheme: true })(withRouter(AddLicense));\r\n","//@ts-check\r\nimport React from \"react\";\r\nimport { Form } from \"ecrion-components\";\r\nimport { Grid, FormLabel } from \"@material-ui/core\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport { useAccountsAuth } from \"../../../context/AccountsContext\";\r\n\r\nconst formGridProps = {\r\n alignItems: \"center\",\r\n style: { marginTop: 8 * 2 },\r\n};\r\n\r\nconst AddLicense = ({ match, history }) => {\r\n const { token } = useAccountsAuth();\r\n\r\n function renderContent() {\r\n return (\r\n <>\r\n \r\n \r\n \r\n Licenses\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n\r\n return (\r\n {\r\n const errors = {};\r\n if (!data.Licenses || data.Licenses.length === 0) {\r\n errors.Licenses = \"Licenses are required.\";\r\n }\r\n\r\n return errors;\r\n }}\r\n renderContent={(values) => renderContent()}\r\n onSuccess={() => {\r\n history.return(\"/licensing\");\r\n }}\r\n onCancel={() => {}}\r\n />\r\n );\r\n};\r\n\r\nexport default withRouter(AddLicense);\r\n","//@ts-check\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport { Utils } from \"ecrion-components\";\r\nimport { LinearProgress } from \"@material-ui/core\";\r\nimport PageLayout from \"../../components/PageLayout\";\r\nimport { useSettings } from \"../../context/SettingsContext\";\r\nimport AddOfflineLicense from \"./components/AddOfflineLicense\";\r\nimport AddOnlineLicense from \"./components/AddOnlineLicense\";\r\nimport AccountsRoute from \"./components/AccountsRoute\";\r\n\r\nconst AddLicense = ({ history, location }) => {\r\n const settings = useSettings();\r\n const [isLoading, setIsLoading] = useState(true);\r\n const [online, setOnline] = useState(false);\r\n const { pathname, search } = location;\r\n\r\n useEffect(() => {\r\n settings &&\r\n Utils.request({\r\n url: \"/backend/environmentLicensing/status\",\r\n }).then(\r\n function () {\r\n setOnline(true);\r\n setIsLoading(false);\r\n },\r\n function () {\r\n setOnline(false);\r\n setIsLoading(false);\r\n }\r\n );\r\n }, [settings]);\r\n\r\n return (\r\n \r\n {isLoading ? (\r\n \r\n ) : online ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default withRouter(AddLicense);\r\n","//@ts-check\r\n\r\nimport React from \"react\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport PageLayout from \"../../components/PageLayout\";\r\nimport PageAvatar from \"../../components/PageAvatar\";\r\nimport Item from \"../../components/Item\";\r\nimport SubTitle from \"../../components/SubTitle\";\r\nimport ProgressiveDataList from \"../../components/ProgressiveDataList\";\r\nimport { getDisplayName } from \"../../utils/getDisplayName\";\r\n\r\nimport { DataItem, DataFilter } from \"ecrion-components\";\r\nimport { Typography, Grid, List } from \"@material-ui/core\";\r\n\r\nconst License = ({ history, location, match }) => {\r\n let keyId = match && match.params && match.params.id ? match.params.id : null;\r\n\r\n function getDescription(license) {\r\n return `${license.AssignedTo.length} of ${license.UsersCount}`;\r\n }\r\n\r\n function renderContent(value, licensedUsers) {\r\n if (!value) return
;\r\n\r\n return (\r\n
\r\n \r\n \r\n key\r\n \r\n \r\n {value.Key + ` (License Id: ${keyId})`}\r\n \r\n \r\n {getDescription(value)}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n {licensedUsers.data.length === 0 ? (\r\n \r\n No licensed user\r\n \r\n ) : (\r\n \r\n {licensedUsers.data.map((user) => (\r\n \r\n ))}\r\n \r\n )}\r\n \r\n \r\n
\r\n );\r\n }\r\n\r\n return (\r\n \r\n {({ value }) => (\r\n \r\n {!value ? (\r\n
\r\n ) : (\r\n \r\n {({ state }) => {\r\n return
{renderContent(value, state)}
;\r\n }}\r\n \r\n )}\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default withRouter(License);\r\n","import Licensing from \"./Licensing\";\r\n\r\nexport default Licensing;\r\n","//@ts-check\r\n\r\nimport React from \"react\";\r\nimport { Switch } from \"react-router-dom\";\r\nimport Main from \"./Main\";\r\nimport AddLicense from \"./AddLicense\";\r\nimport License from \"./License\";\r\nimport PrivateRoute from \"../../router/PrivateRoute\";\r\n\r\nconst AppLicensing = ({ location }) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default AppLicensing;\r\n","import React from 'react';\r\nimport { useAccountsAuth } from '../context/AccountsContext';\r\nimport { Redirect } from 'react-router-dom';\r\nimport { Utils } from 'ecrion-components';\r\n\r\nconst AccountsCallback = props => {\r\n const { handleAuthentication } = useAccountsAuth();\r\n\r\n handleAuthentication();\r\n\r\n const query = Utils.url.parseUrl(props.location.search).query;\r\n\r\n return ;\r\n};\r\n\r\nexport default AccountsCallback;\r\n","import React from 'react';\r\nimport AccountsCallback from '../components/AccountsCallback';\r\n\r\nconst AccountsAuthCallback = ({ location }) => {\r\n return ;\r\n};\r\n\r\nexport default AccountsAuthCallback;\r\n","import React from \"react\";\r\nimport PrivateRoute from \"./PrivateRoute\";\r\nimport { Route, Switch } from \"react-router-dom\";\r\nimport Home from \"../pages/Home\";\r\nimport Apps from \"../pages/Apps\";\r\nimport App from \"../pages/App\";\r\nimport AppInstall from \"../pages/AppInstall\";\r\nimport AppEdit from \"../pages/AppEdit\";\r\nimport AppEditAccessRights from \"../pages/AppEditAccessRights\";\r\nimport AppEditAccessRightsAdd from \"../pages/AppEditAccessRightsAdd\";\r\nimport AppGetStarted from \"../pages/AppGetStarted\";\r\nimport Account from \"../pages/Account\";\r\nimport Users from \"../pages/Users\";\r\nimport User from \"../pages/User\";\r\nimport Groups from \"../pages/Groups\";\r\nimport Group from \"../pages/Group\";\r\nimport EditGroupUsers from \"../pages/EditGroupUsers\";\r\nimport EditGroupUsersAdd from \"../pages/EditGroupUsersAdd\";\r\nimport Organization from \"../pages/Organization\";\r\nimport SSO from \"../pages/SSO\";\r\nimport Workspaces from \"../pages/Workspaces\";\r\nimport Workspace from \"../pages/Workspace\";\r\nimport GroupWorkspaces from \"../pages/GroupWorkspaces\";\r\nimport EditGroupWorkspacesAdd from \"../pages/EditGroupWorkspacesAdd\";\r\nimport UserGroups from \"../pages/UserGroups\";\r\nimport UserGroupsAdd from \"../pages/UserGroupsAdd\";\r\nimport NotFound from \"../pages/NotFound\";\r\nimport Categories from \"../pages/Categories\";\r\nimport Category from \"../pages/Category\";\r\nimport AppLicensing from \"../pages/AppLicensing\";\r\nimport Licensing from \"../pages/Licensing\";\r\nimport AccountsAuthCallback from \"../pages/AccountsAuthCallback\";\r\n\r\nconst Routes = () => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default Routes;\r\n","import Router from \"./Router\";\r\nexport { default as Routes } from \"./Routes\";\r\n\r\nexport default Router;\r\n","//@ts-check\r\n\r\n/**@type {import(\"theme/types\").PartialEcrionTheme} */\r\nconst theme = {\r\n variant: \"microservice\",\r\n common: {\r\n Page: {\r\n Common: {\r\n style: {\r\n backgroundColor: \"#FFF\",\r\n },\r\n props: {\r\n copyright: true,\r\n reloadBackendInfo: true,\r\n },\r\n },\r\n },\r\n Form: {\r\n Fragment: {\r\n props: {\r\n variant: \"filled\",\r\n },\r\n },\r\n },\r\n },\r\n palette: {\r\n type: \"dark\",\r\n },\r\n overrides: {\r\n MuiFilledInput: {\r\n input: {\r\n \"&:-webkit-autofill\": {\r\n WebkitBoxShadow: \"0 0 0 100px white inset\",\r\n WebkitTextFillColor: \"#000000\",\r\n },\r\n },\r\n },\r\n MuiButton: {\r\n root: {\r\n minWidth: 120,\r\n },\r\n outlined: {\r\n border: \"1px solid rgba(0, 0, 0, 0.23)\",\r\n },\r\n },\r\n MuiIcon: {\r\n root: {\r\n fontSize: \"0.75em\",\r\n minWidth: \"26px\",\r\n },\r\n },\r\n MuiAvatar: {\r\n root: {\r\n height: \"32px\",\r\n width: \"32px\",\r\n },\r\n },\r\n },\r\n props: {\r\n MuiFormControl: {\r\n variant: \"filled\",\r\n },\r\n MuiInputLabel: {\r\n variant: \"filled\",\r\n shrink: false,\r\n },\r\n MuiTextField: {\r\n variant: \"filled\",\r\n },\r\n MuiButton: {\r\n color: \"primary\",\r\n },\r\n },\r\n};\r\n\r\nexport default theme;\r\n","import microserviceAppCategory from \"./microserviceAppCategory\";\r\nimport microserviceApp from \"./microserviceApp\";\r\nimport availableMicroserviceApp from \"./availableMicroserviceApp\";\r\nimport group from \"./group\";\r\nimport principal from \"./principal\";\r\nimport microserviceAppGroup from \"./microserviceAppGroup\";\r\nimport microserviceAppPrincipal from \"./microserviceAppPrincipal\";\r\nimport moduleCategory from \"./moduleCategory\";\r\nimport availableModuleCategory from \"./availableModuleCategory\";\r\nimport timezone from \"./timezone\";\r\nimport organization from \"./organization\";\r\nimport sso from \"./sso\";\r\nimport userGroups from \"./userGroups\";\r\nimport groupWorkspaces from \"./groupWorkspaces\";\r\nimport groupUsers from \"./groupUsers\";\r\nimport environments from \"./environments\";\r\nimport licensedUsers from \"./licensedUsers\";\r\nimport availableProductKeys from \"./availableProductKeys\";\r\nimport ssoEnvironment from \"./ssoEnvironment\";\r\nimport environmentLicenses from \"./environmentLicenses\";\r\nimport accountsEnvironmentLicenses from \"./accountsEnvironmentLicenses\";\r\n\r\nexport default {\r\n microserviceAppCategory,\r\n microserviceApp,\r\n availableMicroserviceApp,\r\n group,\r\n availableModuleCategory,\r\n moduleCategory,\r\n timezone,\r\n microserviceAppGroup,\r\n organization,\r\n sso,\r\n userGroups,\r\n groupWorkspaces,\r\n groupUsers,\r\n environments,\r\n licensedUsers,\r\n availableProductKeys,\r\n ssoEnvironment,\r\n environmentLicenses,\r\n accountsEnvironmentLicenses,\r\n microserviceAppPrincipal,\r\n principal\r\n};\r\n","//@ts-check\r\n\r\n/**\r\n * @typedef { object } MicroserviceCategoryModel Data model returned by the sever representing a Microservice Category\r\n * @property { string } Name Microservice category name\r\n * */\r\n\r\n/**@type {import('data/types').DataType} */\r\nconst APP_DATA_TYPE = {\r\n data: {\r\n url: \"/backend/micorservicesCategories\",\r\n dataKey: \"microserviceCategories\",\r\n idKeyProp: \"Name\"\r\n },\r\n placeholders: {\r\n label: data => data.Name,\r\n type: () => \"microservice category\",\r\n icon: () => \"category\"\r\n }\r\n};\r\n\r\nexport default APP_DATA_TYPE;\r\n","//@ts-check\r\n\r\n/**\r\n * @typedef { object } MicroserviceAppManifest\r\n * @property { string } Id App's Id\r\n * @property { string } Name App's name\r\n * @property { string } IconURL App's icon URL\r\n * @property { string } HomeURL App's login URL\r\n * @property { string } Description App's description\r\n * @property { string } Color App's color\r\n * @property { 'Apps' | 'Digital Experiences' | 'Developer' | string } Category App's categroy\r\n * @property { 'FREE_TRIAL' | 'REQUEST_TRIAL' | 'NO_TRIAL' } Trial App's trial\r\n * @property { string } Version App's version\r\n * @property { MicroserviceAppManifestState[] } States App's states\r\n * @property { object[] } DefaultPrincipals Default principals\r\n *\r\n * @typedef { object } MicroserviceAppManifestState\r\n * @property { 'available' | 'unavailable' } Type State's type e.g. available, unavailable\r\n * @property { string } Description State's description\r\n * @property { MicroserviceAppManifestStateAction[] } Actions State's actions\r\n *\r\n * @typedef { object } MicroserviceAppManifestStateAction\r\n * @property { 'GetItNow' | 'Remove' | 'Link' } Type Action's type e.g. remove, getitnow, link\r\n * @property { string } Caption Action's caption\r\n * @property { string } Url Action's url\r\n *\r\n * @typedef { object } MicroserviceAppInstallation\r\n * @property { number } Id Unique identifier\r\n * @property { boolean } Trial\r\n * @property { 'INSTALLED' | 'INSTALLED_TRIAL' | 'NOT_INSTALLED_FREE_TRIAL' | 'NOT_INSTALLED_REQUEST_TRIAL' } Installation\r\n * @property { string } Category\r\n * @property { groups[] } Groups\r\n *\r\n * @typedef { object } MicroserviceAppModel Data model returned by the sever representing a Microservices App\r\n * @property { MicroserviceAppManifest } Manifest Microservice manifest\r\n * @property { MicroserviceAppInstallation } Installation Microservice status\r\n * */\r\n\r\n/**@type {import('data/types').DataType} */\r\n\r\nconst APP_DATA_TYPE = {\r\n data: {\r\n url: \"/backend/microservices2?category={category}\",\r\n createItemUrl: \"/backend/microservices2\",\r\n itemUrl: \"/backend/microservices2?appId={id}\",\r\n dataKey: \"microservices\",\r\n idKeyProp: \"MicroserviceAppInstallation.Id\",\r\n onBeforeRequest: (config, request) => {\r\n if (!config.dataProps) return;\r\n\r\n if (request.type !== \"loadView\") return;\r\n\r\n let {\r\n dataProps: { category },\r\n } = config;\r\n\r\n let url = request.url;\r\n\r\n url = url.split(\"{category}\").join(encodeURIComponent(category));\r\n\r\n return {\r\n url,\r\n };\r\n },\r\n },\r\n placeholders: {\r\n label: (data) =>\r\n data && data.MicroserviceAppManifest\r\n ? data.MicroserviceAppManifest.Name\r\n : \"\",\r\n type: (data) => data && data.MicroserviceAppManifest\r\n ? data.MicroserviceAppManifest.Name\r\n : \"\",\r\n icon: () => \"app\",\r\n name: (data) => data.MicroserviceAppInstallation.Name,\r\n delete: () => \"uninstall\",\r\n deleting: () => \"uninstalling\",\r\n },\r\n};\r\n\r\nexport default APP_DATA_TYPE;\r\n","//@ts-check\r\n\r\n/**@type {import('data/types').DataType} */\r\nconst APP_DATA_TYPE = {\r\n data: {\r\n url: \"/backend/availableMicroservices\",\r\n dataKey: \"microservices\",\r\n idKeyProp: \"MicroserviceAppManifest.Id\",\r\n itemUrl: \"/backend/availableMicroservices?id={id}\"\r\n }\r\n};\r\n\r\nexport default APP_DATA_TYPE;\r\n","//@ts-check\r\n\r\n/**\r\n * @typedef { object } Group\r\n * @property { number } Id Groups's name\r\n * @property { string } Name Groups's name\r\n\r\n/**@type {import('data/types').DataType} */\r\nconst APP_DATA_TYPE = {\r\n data: {\r\n url: '/backend/groups?idsOperator={idsOperator}',\r\n itemUrl: '/backend/groups?name={id}',\r\n dataKey: 'groups',\r\n idKeyProp: 'Name',\r\n filterUrlKey: 'Query',\r\n onBeforeRequest: (config, request) => {\r\n if (!config.dataProps) return;\r\n if (request.type !== 'loadView') return;\r\n let {\r\n dataProps: { idsOperator },\r\n } = config;\r\n\r\n if (!idsOperator) idsOperator = 'in';\r\n let url = request.url;\r\n url = url.split('{idsOperator}').join(idsOperator);\r\n return {\r\n url,\r\n };\r\n },\r\n },\r\n placeholders: {\r\n label: data => data.Name,\r\n type: () => 'group',\r\n icon: () => 'group',\r\n },\r\n};\r\n\r\nexport default APP_DATA_TYPE;\r\n","//@ts-check\r\n\r\n/**\r\n * @typedef { object } ModuleCategoryModel Data model returned by the sever representing a Microservice Category\r\n * @property { string } Name Microservice category name\r\n * @property { int } Order Microservice category order\r\n * @property { int } Columns Microservice category Columns\r\n * */\r\n\r\n/**@type {import('data/types').DataType} */\r\nconst APP_DATA_TYPE = {\r\n data: {\r\n url: \"/backend/availablemodulecategory\",\r\n createItemUrl:\r\n \"/backend/availablemodulecategory?categoryName={categoryName}\",\r\n itemUrl: \"/backend/availablemodulecategory?categoryName={id}\",\r\n dataKey: \"modulecategory\",\r\n idKeyProp: \"Name\",\r\n filterUrlKey: \"name\",\r\n\r\n onBeforeRequest: (config, request) => {\r\n let url = request.url;\r\n\r\n if (request.type === \"createItem\") {\r\n url = url\r\n .split(\"{categoryName}\")\r\n .join(encodeURIComponent(request.data.Name));\r\n }\r\n\r\n return {\r\n url\r\n };\r\n }\r\n },\r\n\r\n placeholders: {\r\n label: data => data.Name,\r\n type: () => \"category\",\r\n icon: () => \"availablemodulecategory\"\r\n }\r\n};\r\n\r\nexport default APP_DATA_TYPE;\r\n","//@ts-check\r\n\r\n/**\r\n * @typedef { object } ModuleCategoryModel Data model returned by the sever representing a Microservice Category\r\n * @property { string } Name Microservice category name\r\n * */\r\n\r\n/**@type {import('data/types').DataType} */\r\nconst APP_DATA_TYPE = {\r\n data: {\r\n url: \"/backend/modulecategory\",\r\n dataKey: \"modulecategory\",\r\n idKeyProp: \"Name\"\r\n },\r\n placeholders: {\r\n label: data => data.Name,\r\n type: () => \"category\",\r\n icon: () => \"category\"\r\n }\r\n};\r\n\r\nexport default APP_DATA_TYPE;\r\n","//@ts-check\r\n\r\n/**\r\n * @typedef { object } Group\r\n * @property { string } Id Timezone id\r\n * @property { string } DisplayName Timezone display name\r\n\r\n/**@type {import('data/types').DataType} */\r\nconst APP_DATA_TYPE = {\r\n data: {\r\n url: \"/backend/timezone2\",\r\n dataKey: \"timezones\",\r\n idKeyProp: \"Id\"\r\n },\r\n placeholders: {\r\n label: data => data.DisplayName,\r\n type: () => \"group\",\r\n icon: () => \"group\"\r\n }\r\n};\r\n\r\nexport default APP_DATA_TYPE;\r\n","//@ts-check\r\n\r\n/**\r\n * @typedef { object } Group\r\n * @property { number } Id Groups's name\r\n * @property { string } Name Groups's name\r\n\r\n/**@type {import('data/types').DataType} */\r\nconst APP_DATA_TYPE = {\r\n data: {\r\n url: \"/backend/microservicegroups?appId={appId}&include={include}\",\r\n itemUrl: \"/backend/microservicegroups?appId={appId}&groupName={Id}\",\r\n createItemUrl: \"/backend/microservicegroups?appId={appId}\",\r\n deleteItemUrl: \"/backend/microservicegroups?appId={appId}&groupName={id}\",\r\n dataKey: \"groups\",\r\n idKeyProp: \"Name\",\r\n onBeforeRequest: (config, request) => {\r\n if (!config.dataProps) return;\r\n if (\r\n request.type !== \"createItem\" &&\r\n request.type !== \"deleteItem\" &&\r\n request.type !== \"loadView\"\r\n )\r\n return;\r\n let {\r\n dataProps: { appId, include }\r\n } = config;\r\n\r\n if (include === undefined) include = true;\r\n\r\n let url = request.url;\r\n url = url.split(\"{appId}\").join(appId);\r\n url = url.split(\"{include}\").join(include);\r\n return {\r\n url\r\n };\r\n }\r\n },\r\n\r\n placeholders: {\r\n label: data => data.Name,\r\n type: () => \"group\",\r\n icon: () => \"group\"\r\n }\r\n};\r\n\r\nexport default APP_DATA_TYPE;\r\n","//@ts-check\r\n\r\n/**@type {import('data/types').DataType} */\r\nconst ORGANIZATION_DATA_TYPE = {\r\n extends: 'environment',\r\n data: {\r\n dataKey: 'organization',\r\n },\r\n placeholders: {\r\n type: () => 'organization',\r\n icon: () => 'organization',\r\n },\r\n};\r\n\r\nexport default ORGANIZATION_DATA_TYPE;\r\n","//@ts-check\r\n/**\r\n * @typedef { object } Group\r\n * @property { number } URL\r\n * @property { string } Type\r\n\r\n/**@type {import('data/types').DataType} */\r\nconst APP_DATA_TYPE = {\r\n data: {\r\n url: '/backend/ssourl',\r\n createItemUrl: '/backend/ssourl',\r\n dataKey: 'sso',\r\n idKeyProp: 'EnvironmentId',\r\n },\r\n placeholders: {\r\n label: data => data.URL,\r\n type: () => 'sso',\r\n icon: () => 'sso',\r\n },\r\n};\r\n\r\nexport default APP_DATA_TYPE;\r\n","//@ts-check\r\n\r\n/**\r\n * @typedef { object } UserGroup\r\n * @property { number } Id Groups's name\r\n * @property { string } Name Groups's name\r\n\r\n/**@type {import('data/types').DataType} */\r\nconst APP_DATA_TYPE = {\r\n data: {\r\n url: '/backend/userGroupsGrid?userName={userName}&include={include}',\r\n createItemUrl: '/backend/userGroupsGrid?userName={userName}',\r\n deleteItemUrl: '/backend/userGroupsGrid?userName={userName}&groupName={id}',\r\n dataKey: 'userGroups',\r\n idKeyProp: 'Name',\r\n onBeforeRequest: (config, request) => {\r\n if (!config.dataProps) return;\r\n if (\r\n request.type !== 'createItem' &&\r\n request.type !== 'loadView' &&\r\n request.type !== 'deleteItem'\r\n )\r\n return;\r\n let {\r\n dataProps: { userName, include },\r\n } = config;\r\n\r\n let url = request.url;\r\n url = url.split('{userName}').join(userName);\r\n url = url.split('{include}').join(include);\r\n return {\r\n url,\r\n };\r\n },\r\n },\r\n\r\n placeholders: {\r\n label: data => data.Name,\r\n type: () => 'user',\r\n icon: () => 'user',\r\n delete: () => 'remove',\r\n deleting: () => 'removing',\r\n },\r\n};\r\n\r\nexport default APP_DATA_TYPE;\r\n","//@ts-check\r\n\r\n/**\r\n * @typedef { object } UserGroup\r\n * @property { number } Id Groups's id\r\n * @property { string } GroupName Groups's name\r\n * @property { string } GroupName Groups's name\r\n\r\n/**@type {import('data/types').DataType} */\r\nconst APP_DATA_TYPE = {\r\n data: {\r\n url: '/backend/groupWorkspacesGrid?groupName={groupName}&include={include}',\r\n itemUrl: '/backend/groupWorkspacesGrid',\r\n createItemUrl: '/backend/groupWorkspacesGrid?groupName={groupName}',\r\n deleteItemUrl:\r\n '/backend/groupWorkspacesGrid?groupName={groupName}&workspaceName={id}',\r\n dataKey: 'groupWorkspaces',\r\n idKeyProp: 'WorkspaceName',\r\n onBeforeRequest: (config, request) => {\r\n if (!config.dataProps) return;\r\n if (\r\n request.type !== 'createItem' &&\r\n request.type !== 'loadView' &&\r\n request.type !== 'deleteItem'\r\n )\r\n return;\r\n let {\r\n dataProps: { groupName, include },\r\n } = config;\r\n\r\n let url = request.url;\r\n url = url\r\n .split('{groupName}')\r\n .join(encodeURIComponent(groupName))\r\n .split('{include}')\r\n .join(include);\r\n return {\r\n url,\r\n };\r\n },\r\n },\r\n\r\n placeholders: {\r\n label: data => data.WorkspaceName,\r\n type: () => 'access',\r\n icon: () => 'group',\r\n delete: () => 'remove',\r\n deleting: () => 'removing',\r\n },\r\n};\r\n\r\nexport default APP_DATA_TYPE;\r\n","//@ts-check\r\n\r\n/**\r\n * @typedef { object } UserGroup\r\n * @property { number } Id Groups's name\r\n * @property { string } Name Groups's name\r\n\r\n/**@type {import('data/types').DataType} */\r\nconst APP_DATA_TYPE = {\r\n data: {\r\n url: '/backend/groupUsersGrid?groupName={groupName}&include={include}',\r\n itemUrl: '/backend/groupUsersGrid',\r\n createItemUrl: '/backend/groupUsersGrid',\r\n deleteItemUrl:\r\n '/backend/groupUsersGrid?userName={id}&groupName={groupName}',\r\n dataKey: 'groupUsers',\r\n idKeyProp: 'UserName',\r\n filterUrlKey: 'Query',\r\n onBeforeRequest: (config, request) => {\r\n if (!config.dataProps) return;\r\n if (request.type !== 'loadView' && request.type !== 'deleteItem') return;\r\n let {\r\n dataProps: { groupName, include },\r\n } = config;\r\n\r\n let url = request.url;\r\n url = url.split('{groupName}').join(encodeURIComponent(groupName));\r\n url = url.split('{include}').join(include);\r\n return {\r\n url,\r\n };\r\n },\r\n },\r\n\r\n placeholders: {\r\n label: data => data.Name + (data.Name !== data.Email ? \" (\" + data.Email + \")\" : \"\"),\r\n type: () => 'user',\r\n icon: () => 'user',\r\n delete: () => 'remove',\r\n deleting: () => 'removing',\r\n },\r\n};\r\n\r\nexport default APP_DATA_TYPE;\r\n","//@ts-check\r\n\r\n/**@type {import('data/types').DataType} */\r\nconst ORGANIZATION_DATA_TYPE = {\r\n data: {\r\n url: '/backend/cloudenvironments',\r\n dataKey: 'environments',\r\n idKeyProp: 'name',\r\n itemUrl: '/backend/cloudenvironments/{id}',\r\n onAfterResponse: (options, request, responseBody) => {\r\n return {\r\n Data: responseBody,\r\n TotalCount: responseBody.length,\r\n };\r\n },\r\n },\r\n};\r\n\r\nexport default ORGANIZATION_DATA_TYPE;\r\n","//@ts-check\r\n\r\nconst APP_DATA_TYPE = {\r\n data: {\r\n url: \"/backend/environmentLicensing/users?keyId={keyId}\",\r\n dataKey: \"licensedUsers\",\r\n idKeyProp: \"UserName\",\r\n onBeforeRequest: (config, request) => {\r\n if (!config.dataProps) return;\r\n if (request.type === \"loadView\") {\r\n let {\r\n dataProps: { keyId }\r\n } = config;\r\n\r\n let url = request.url;\r\n url = url.split(\"{keyId}\").join(keyId);\r\n return {\r\n url\r\n };\r\n }\r\n\r\n return;\r\n }\r\n },\r\n\r\n placeholders: {\r\n label: data => data.UserName,\r\n type: () => \"license\",\r\n icon: () => \"user\",\r\n delete: () => \"remove\",\r\n deleting: () => \"removing\"\r\n }\r\n};\r\n\r\nexport default APP_DATA_TYPE;\r\n","//@ts-check\r\n\r\nconst APP_DATA_TYPE = {\r\n data: {\r\n url:\r\n '/backend/availableProductKeys?accountToken={accountToken}&componentType={component}',\r\n idKeyProp: 'Key',\r\n dataKey: 'availableProductKeys',\r\n onBeforeRequest: (config, request) => {\r\n if (!config.dataProps) return;\r\n if (request.type === 'loadView') {\r\n let {\r\n dataProps: { component, accountToken },\r\n } = config;\r\n\r\n let url = request.url;\r\n url = url.split('{component}').join(component);\r\n url = url.split('{accountToken}').join(accountToken);\r\n return {\r\n url,\r\n };\r\n }\r\n\r\n return;\r\n },\r\n },\r\n\r\n placeholders: {\r\n label: data => data.Key,\r\n type: () => 'category',\r\n icon: () => 'availableProductKeys',\r\n },\r\n};\r\n\r\nexport default APP_DATA_TYPE;\r\n","//@ts-check\r\n/**\r\n * @typedef { object } Group\r\n * @property { number } URL\r\n * @property { string } Type\r\n\r\n/**@type {import('data/types').DataType} */\r\nconst APP_DATA_TYPE = {\r\n data: {\r\n url: '/backend/ssourl',\r\n createItemUrl: '/backend/ssourl',\r\n dataKey: 'sso',\r\n idKeyProp: 'EnvironmentName',\r\n },\r\n placeholders: {\r\n label: data => data.URL,\r\n type: () => 'sso',\r\n icon: () => 'sso',\r\n },\r\n};\r\n\r\nexport default APP_DATA_TYPE;\r\n","const ENVIRONMENT_LICENSES = {\r\n data: {\r\n url: \"/backend/EnvironmentLicensing\",\r\n createItemUrl:\r\n \"/backend/environmentLicensing/installLicenses?accountToken={accountToken}\",\r\n deleteItemUrl:\r\n \"/backend/environmentLicensing/revokeAndDeleteOnline?accountToken={accountToken}&productKeyId={id}\",\r\n dataKey: \"environmentLicenses\",\r\n idKeyProp: \"ProductKeyId\",\r\n onBeforeRequest: (config, request) => {\r\n let url = request.url;\r\n\r\n if (request.type === \"createItem\" || request.type === \"deleteItem\") {\r\n url = url\r\n .split(\"{accountToken}\")\r\n .join(encodeURIComponent(config.dataProps.accountToken));\r\n }\r\n\r\n if (request.type === \"deleteItem\" && config.dataProps.offline) {\r\n url =\r\n \"/backend/environmentLicensing/revokeAndReleaseOffline?productKeyId={id}\";\r\n url = url.split(\"{id}\").join(encodeURIComponent(config.id));\r\n }\r\n\r\n if (request.type === \"createItem\" && config.dataProps.offline) {\r\n url = \"/backend/environmentLicensing/installOfflineLicense\";\r\n }\r\n\r\n return {\r\n url\r\n };\r\n }\r\n },\r\n placeholders: {\r\n label: data => data.Key,\r\n type: () => \"license\",\r\n icon: () => \"license\",\r\n delete: () => \"release\",\r\n deleting: () => \"releasing\"\r\n }\r\n};\r\n\r\nexport default ENVIRONMENT_LICENSES;\r\n","const ENVIRONMENT_LICENSES = {\r\n data: {\r\n url: \"/backend/AccountsEnvironmentLicences?accountToken={accountToken}\",\r\n\r\n dataKey: \"accountsEnvironmentLicenses\",\r\n idKeyProp: \"Id\",\r\n onBeforeRequest: (config, request) => {\r\n let url = request.url;\r\n\r\n if (request.type === \"loadView\") {\r\n url = url\r\n .split(\"{accountToken}\")\r\n .join(encodeURIComponent(config.dataProps.accountToken));\r\n }\r\n\r\n return {\r\n url,\r\n };\r\n },\r\n },\r\n placeholders: {\r\n label: function (data) {\r\n let label = data.Key;\r\n\r\n if (data.UsersCount !== 0) label += ` (${data.UsersCount} users`;\r\n else label += ` (1 user`;\r\n\r\n const date = new Date(data.EndDate);\r\n const month = date.getMonth() + 1;\r\n\r\n label += `, ${month}/${date.getDate()}/${date.getFullYear()}`; // add expire date\r\n label += `, License Id: ${data.Id})`; // add license id\r\n\r\n return label;\r\n },\r\n type: () => \"licenses\",\r\n icon: () => \"licenses\",\r\n },\r\n};\r\n\r\nexport default ENVIRONMENT_LICENSES;\r\n","//@ts-check\r\n\r\n/**\r\n * @typedef { object } Group\r\n * @property { number } Id Groups's name\r\n * @property { string } Name Groups's name\r\n\r\n/**@type {import('data/types').DataType} */\r\nconst APP_DATA_TYPE = {\r\n data: {\r\n url: \"/backend/microserviceprincipals?appId={appId}&include={include}\",\r\n itemUrl: \"/backend/microserviceprincipals?appId={appId}&principalId={Id}\",\r\n createItemUrl: \"/backend/microserviceprincipals?appId={appId}\",\r\n deleteItemUrl:\r\n \"/backend/microserviceprincipals?appId={appId}&principalId={id}\",\r\n dataKey: \"principal\",\r\n idKeyProp: \"Id\",\r\n onBeforeRequest: (config, request) => {\r\n if (!config.dataProps) return;\r\n if (\r\n request.type !== \"createItem\" &&\r\n request.type !== \"deleteItem\" &&\r\n request.type !== \"loadView\"\r\n )\r\n return;\r\n let {\r\n dataProps: { appId, include }\r\n } = config;\r\n\r\n if (include === undefined) include = true;\r\n\r\n let url = request.url;\r\n url = url.split(\"{appId}\").join(appId);\r\n url = url.split(\"{include}\").join(include);\r\n return {\r\n url\r\n };\r\n }\r\n },\r\n\r\n placeholders: {\r\n label: data => data.DisplayName,\r\n type: () => \"access right\",\r\n icon: () => \"principal\",\r\n delete: () => \"remove\",\r\n deleting: () => \"removing\"\r\n }\r\n};\r\n\r\nexport default APP_DATA_TYPE;\r\n","//@ts-check\r\n\r\n/**\r\n * @typedef { object } Group\r\n * @property { number } Id Groups's name\r\n * @property { string } Name Groups's name\r\n\r\n/**@type {import('data/types').DataType} */\r\nconst APP_DATA_TYPE = {\r\n data: {\r\n url: \"/backend/principalsgrid?idsOperator={idsOperator}\",\r\n itemUrl: \"/backend/principalsgrid?name={id}\",\r\n dataKey: \"principals\",\r\n idKeyProp: \"Id\",\r\n filterUrlKey: \"Query\",\r\n onBeforeRequest: (config, request) => {\r\n if (!config.dataProps) return;\r\n if (request.type !== \"loadView\") return;\r\n let {\r\n dataProps: { idsOperator }\r\n } = config;\r\n\r\n if (!idsOperator) idsOperator = \"in\";\r\n let url = request.url;\r\n url = url.split(\"{idsOperator}\").join(idsOperator);\r\n return {\r\n url\r\n };\r\n }\r\n },\r\n placeholders: {\r\n label: data => data.DisplayName,\r\n type: () => \"group\",\r\n icon: () => \"group\"\r\n }\r\n};\r\n\r\nexport default APP_DATA_TYPE;\r\n","import React, { useRef, useState } from \"react\";\r\nimport { ModalWindow, Utils, DataAction, Form } from \"ecrion-components\";\r\nimport { Grid, Typography, CircularProgress } from \"@material-ui/core\";\r\nimport { withStyles } from \"@material-ui/core/styles\";\r\n\r\nconst ReleaseOfflineDialog = ({\r\n productKeyId,\r\n accountsUrl,\r\n onClose,\r\n theme,\r\n classes\r\n}) => {\r\n const keyPreview = useRef(null);\r\n const [uninstallKey, setUninstallKey] = useState(null);\r\n const [loading, setLoading] = useState(false);\r\n const [error, setError] = useState(null);\r\n\r\n const copyToClipboard = () => {\r\n Utils.copyToClipboard(uninstallKey, keyPreview.current);\r\n };\r\n\r\n const onRemove = function() {\r\n setLoading(true);\r\n return DataAction.item({\r\n dataType: \"environmentLicenses\",\r\n id: productKeyId,\r\n dataProps: {\r\n offline: true\r\n }\r\n })\r\n .delete()\r\n .then(function(data) {\r\n setLoading(false);\r\n setUninstallKey(data.payload.Data[0]);\r\n })\r\n .catch(() => {\r\n setLoading(false);\r\n setError(error);\r\n });\r\n };\r\n\r\n const renderHeader = () => \"Release license offline\";\r\n const renderContentKey = () => {\r\n return (\r\n \r\n \r\n \r\n {`Use the key bellow to uninstall license on `}\r\n \r\n Ecrion Accounts\r\n \r\n {` for product key: '${productKeyId}'`}\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n };\r\n\r\n const renderContent = () => {\r\n return (\r\n \r\n {error && error}\r\n \r\n \r\n {\"You will receive an uninstall key which must be used on \"}\r\n \r\n Ecrion Accounts\r\n \r\n \r\n \r\n Are you sure you want to release license in offline mode?\r\n \r\n \r\n \r\n );\r\n };\r\n\r\n const renderLoading = () => {\r\n return ;\r\n };\r\n\r\n return (\r\n onRemove()\r\n }\r\n : null,\r\n cancel: uninstallKey ? {} : null,\r\n leftAction: uninstallKey\r\n ? {\r\n children: Copy to clipboard,\r\n onClick: () => copyToClipboard()\r\n }\r\n : null\r\n }}\r\n />\r\n );\r\n};\r\n\r\nconst styles = theme => ({\r\n content: {\r\n paddingTop: theme.spacing(4),\r\n paddingBottom: theme.spacing(4),\r\n paddingLeft: theme.spacing(2),\r\n paddingRight: theme.spacing(2)\r\n },\r\n loadingIndicator: {\r\n position: \"absolute\",\r\n top: \"50%\",\r\n left: \"50%\",\r\n marginLeft: \"-25px\",\r\n marginTop: \"-25px\"\r\n }\r\n});\r\n\r\nReleaseOfflineDialog.defaultProps = {\r\n title: \"Embed\",\r\n message: \"Are you sure you want to do this?\",\r\n confirmationButtonLabel: \"Confirm\"\r\n};\r\n\r\nexport default withStyles(styles, { withTheme: true })(ReleaseOfflineDialog);\r\n","import React from \"react\";\r\nimport { ModalWindow } from \"ecrion-components\";\r\nimport { makeStyles, createStyles } from \"@material-ui/core/styles\";\r\n\r\nconst useStyles = makeStyles((theme) =>\r\n createStyles({\r\n content: {\r\n paddingTop: theme.spacing(4),\r\n paddingBottom: theme.spacing(4),\r\n paddingLeft: theme.spacing(2),\r\n paddingRight: theme.spacing(2),\r\n },\r\n })\r\n);\r\n\r\nconst Alert = ({ title, message, onClose }) => {\r\n const classes = useStyles({});\r\n\r\n return (\r\n onClose(),\r\n },\r\n }}\r\n content={
{message}
}\r\n />\r\n );\r\n};\r\n\r\nexport default Alert;\r\n","import React from \"react\";\r\nimport { ModalWindow } from \"ecrion-components\";\r\nimport { makeStyles, createStyles } from \"@material-ui/core/styles\";\r\n\r\nconst useStyles = makeStyles((theme) =>\r\n createStyles({\r\n content: {\r\n paddingTop: theme.spacing(4),\r\n paddingBottom: theme.spacing(4),\r\n paddingLeft: theme.spacing(2),\r\n paddingRight: theme.spacing(2),\r\n },\r\n })\r\n);\r\n\r\nconst YesNo = ({ title, message, yes, no, onClose }) => {\r\n const classes = useStyles({});\r\n\r\n return (\r\n {\r\n if (yes.onClick) yes.onClick();\r\n\r\n onClose();\r\n },\r\n },\r\n cancel: {\r\n children: no.label,\r\n onClick: () => {\r\n if (no.onClick) no.onClick();\r\n\r\n onClose();\r\n },\r\n },\r\n }}\r\n content={
{message}
}\r\n />\r\n );\r\n};\r\n\r\nYesNo.defaultProps = {\r\n title: \"Title\",\r\n messages: \"Question?\",\r\n yes: {\r\n label: \"yes\",\r\n onClick: null,\r\n },\r\n no: {\r\n label: \"no\",\r\n onClick: null,\r\n },\r\n};\r\n\r\nexport default YesNo;\r\n","import React, { useState } from \"react\";\r\nimport { TextField, InputAdornment } from \"@material-ui/core\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport { Icon } from \"ecrion-components\";\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n icon: {\r\n width: \"22px\",\r\n },\r\n}));\r\n\r\nconst PasswordTextField = ({ onChange, disabled }) => {\r\n const [showPassword, setShowPassword] = useState(false);\r\n const classes = useStyles();\r\n\r\n const handleClickShowPassword = () => {\r\n setShowPassword(!showPassword);\r\n };\r\n\r\n const handleMouseDownPassword = (event) => {\r\n event.preventDefault();\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n ),\r\n }}\r\n />\r\n );\r\n};\r\n\r\nexport default PasswordTextField;\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { Grid } from \"@material-ui/core\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n item: {\r\n width: \"100%\",\r\n height: \"3px\",\r\n backgroundColor: \"rgb(94, 108, 132)\",\r\n },\r\n}));\r\n\r\nconst Rating = ({ score }) => {\r\n const classes = useStyles();\r\n const [color, setColor] = useState(\"rgb(94, 108, 132)\");\r\n\r\n useEffect(() => {\r\n if (score < 1) setColor(\"rgb(94, 108, 132\");\r\n else if (score === 1) setColor(\"rgb(191, 38, 0)\");\r\n else if (score === 2) setColor(\"rgb(255, 86, 48)\");\r\n else if (score === 3) setColor(\"rgb(255, 171, 0)\");\r\n else if (score === 4) setColor(\"rgb(54, 179, 126)\");\r\n else if (score > 4) setColor(\"rgb(0, 135, 90)\");\r\n }, [score]);\r\n\r\n return (\r\n \r\n \r\n 0 ? { backgroundColor: color } : {}}\r\n />\r\n \r\n \r\n 1 ? { backgroundColor: color } : {}}\r\n />\r\n \r\n \r\n 2 ? { backgroundColor: color } : {}}\r\n />\r\n \r\n \r\n 3 ? { backgroundColor: color } : {}}\r\n />\r\n \r\n \r\n 4 ? { backgroundColor: color } : {}}\r\n />\r\n \r\n \r\n );\r\n};\r\n\r\nRating.defaultProps = {\r\n score: 0,\r\n};\r\n\r\nexport default Rating;\r\n","import React, { useState } from \"react\";\r\nimport { ModalWindow, Form, withUserInfo, Utils } from \"ecrion-components\";\r\nimport { makeStyles, createStyles } from \"@material-ui/core/styles\";\r\nimport { Grid, TextField, Typography, FormLabel } from \"@material-ui/core\";\r\nimport PasswordTextField from \"../PasswordTextField\";\r\nimport Rating from \"../Rating\";\r\n\r\nconst useStyles = makeStyles((theme) =>\r\n createStyles({\r\n content: {\r\n paddingTop: theme.spacing(4),\r\n paddingBottom: theme.spacing(4),\r\n paddingLeft: theme.spacing(2),\r\n paddingRight: theme.spacing(2),\r\n },\r\n })\r\n);\r\n\r\nconst ContentForm = ({\r\n handleSubmit,\r\n error,\r\n oldPassword,\r\n setOldPassword,\r\n newPassword,\r\n setNewPassword,\r\n submitting,\r\n}) => {\r\n function getPasswordText(password) {\r\n if (password.length < 6)\r\n return \"Password must have at least 6 characters\";\r\n\r\n const score = scorePassword(password);\r\n if (score === 1) return \"Weak\";\r\n else if (score === 2) return \"Fair\";\r\n else if (score === 3) return \"Good\";\r\n else if (score === 4) return \"Strong\";\r\n else if (score > 4) return \"Very Strong\";\r\n\r\n return \"Password must have at least 6 characters\";\r\n }\r\n\r\n function scorePassword(pass) {\r\n let score = 0;\r\n if (!pass || pass.length < 6) return score;\r\n\r\n // award every unique letter until 5 repetitions\r\n let letters = {};\r\n for (var i = 0; i < pass.length; i++) {\r\n letters[pass[i]] = (letters[pass[i]] || 0) + 1;\r\n score += 5.0 / letters[pass[i]];\r\n }\r\n\r\n // bonus points for mixing it up\r\n const variations = {\r\n digits: /\\d/.test(pass),\r\n lower: /[a-z]/.test(pass),\r\n upper: /[A-Z]/.test(pass),\r\n nonWords: /\\W/.test(pass),\r\n };\r\n\r\n let variationCount = 0;\r\n for (let check in variations) {\r\n variationCount += variations[check] === true ? 1 : 0;\r\n }\r\n score += (variationCount - 1) * 10;\r\n\r\n return Math.ceil(score / 20);\r\n }\r\n\r\n return (\r\n \r\n {error && (\r\n \r\n Could not change password. {error}\r\n \r\n )}\r\n \r\n \r\n Old Password\r\n \r\n \r\n \r\n setOldPassword(e.target.value)}\r\n disabled={submitting}\r\n />\r\n \r\n \r\n \r\n New Password\r\n \r\n \r\n \r\n setNewPassword(e.target.value)}\r\n />\r\n \r\n \r\n \r\n \r\n {getPasswordText(newPassword)}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nconst ChangePassword = ({ onClose, userInfo }) => {\r\n const [error, setError] = useState(\"\");\r\n const [oldPassword, setOldPassword] = useState(\"\");\r\n const [newPassword, setNewPassword] = useState(\"\");\r\n const [submitting, setSubmitting] = useState(false);\r\n\r\n const classes = useStyles({});\r\n\r\n function onFailChangePassword(error) {\r\n let errorMessage = \"\";\r\n if (error && error.message) errorMessage = error.message;\r\n if (error && error.response && error.response.body)\r\n errorMessage = error.response.body;\r\n\r\n if (errorMessage.Message) errorMessage = errorMessage.Message;\r\n\r\n setError(errorMessage);\r\n setSubmitting(false);\r\n\r\n throw errorMessage;\r\n }\r\n\r\n function onChangePassword() {\r\n onClose();\r\n setSubmitting(false);\r\n }\r\n\r\n function handleSubmit() {\r\n setSubmitting(true);\r\n return Utils.request({\r\n url: \"/backend/users\",\r\n method: \"PUT\",\r\n data: {\r\n OldUserName: userInfo.userName,\r\n Entity: {\r\n UserName: userInfo.userName,\r\n OldPassword: oldPassword,\r\n NewPassword: newPassword,\r\n ConfirmPassword: newPassword,\r\n },\r\n },\r\n }).then(onChangePassword, onFailChangePassword);\r\n }\r\n\r\n return (\r\n handleSubmit(),\r\n disabled: (newPassword.length < 6),\r\n },\r\n }}\r\n content={\r\n
\r\n \r\n
\r\n }\r\n />\r\n );\r\n};\r\n\r\nexport default withUserInfo(ChangePassword);\r\n","import ReleaseOfflineDialog from \"./ReleaseOffline\";\r\nimport AlertDialog from \"./Alert\";\r\nimport YesNo from \"./YesNo\";\r\nimport ChangePassword from \"./ChangePassword\";\r\n\r\nexport default {\r\n RELEASE_OFFLINE: ReleaseOfflineDialog,\r\n ALERT: AlertDialog,\r\n YES_NO: YesNo,\r\n CHANGE_PASSWORD: ChangePassword,\r\n};\r\n","//@ts-check\r\nimport React from \"react\";\r\nimport { EcrionProvider, Utils } from \"ecrion-components\";\r\nimport Router, { Routes } from \"./router\";\r\nimport theme from \"./theme\";\r\nimport dataTypes from \"./data\";\r\nimport { SettingsProvider } from \"./context/SettingsContext\";\r\nimport { AccountsProvider } from \"./context/AccountsContext\";\r\nimport { createBrowserHistory } from \"history\";\r\nimport modals from \"./components/Dialog\";\r\n\r\nconst history = Utils.history.enhance(createBrowserHistory());\r\n\r\nconst App = () => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n);\r\n\r\nexport default App;\r\n","// This optional code is used to register a service worker.\r\n// register() is not called by default.\r\n\r\n// This lets the app load faster on subsequent visits in production, and gives\r\n// it offline capabilities. However, it also means that developers (and users)\r\n// will only see deployed updates on subsequent visits to a page, after all the\r\n// existing tabs open on the page have been closed, since previously cached\r\n// resources are updated in the background.\r\n\r\n// To learn more about the benefits of this model and instructions on how to\r\n// opt-in, read https://bit.ly/CRA-PWA\r\n\r\nconst isLocalhost = Boolean(\r\n window.location.hostname === 'localhost' ||\r\n // [::1] is the IPv6 localhost address.\r\n window.location.hostname === '[::1]' ||\r\n // 127.0.0.1/8 is considered localhost for IPv4.\r\n window.location.hostname.match(\r\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\r\n )\r\n);\r\n\r\nexport function register(config) {\r\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\r\n // The URL constructor is available in all browsers that support SW.\r\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\r\n if (publicUrl.origin !== window.location.origin) {\r\n // Our service worker won't work if PUBLIC_URL is on a different origin\r\n // from what our page is served on. This might happen if a CDN is used to\r\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\r\n return;\r\n }\r\n\r\n window.addEventListener('load', () => {\r\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\r\n\r\n if (isLocalhost) {\r\n // This is running on localhost. Let's check if a service worker still exists or not.\r\n checkValidServiceWorker(swUrl, config);\r\n\r\n // Add some additional logging to localhost, pointing developers to the\r\n // service worker/PWA documentation.\r\n navigator.serviceWorker.ready.then(() => {\r\n console.log(\r\n 'This web app is being served cache-first by a service ' +\r\n 'worker. To learn more, visit https://bit.ly/CRA-PWA'\r\n );\r\n });\r\n } else {\r\n // Is not localhost. Just register service worker\r\n registerValidSW(swUrl, config);\r\n }\r\n });\r\n }\r\n}\r\n\r\nfunction registerValidSW(swUrl, config) {\r\n navigator.serviceWorker\r\n .register(swUrl)\r\n .then(registration => {\r\n registration.onupdatefound = () => {\r\n const installingWorker = registration.installing;\r\n if (installingWorker == null) {\r\n return;\r\n }\r\n installingWorker.onstatechange = () => {\r\n if (installingWorker.state === 'installed') {\r\n if (navigator.serviceWorker.controller) {\r\n // At this point, the updated precached content has been fetched,\r\n // but the previous service worker will still serve the older\r\n // content until all client tabs are closed.\r\n console.log(\r\n 'New content is available and will be used when all ' +\r\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\r\n );\r\n\r\n // Execute callback\r\n if (config && config.onUpdate) {\r\n config.onUpdate(registration);\r\n }\r\n } else {\r\n // At this point, everything has been precached.\r\n // It's the perfect time to display a\r\n // \"Content is cached for offline use.\" message.\r\n console.log('Content is cached for offline use.');\r\n\r\n // Execute callback\r\n if (config && config.onSuccess) {\r\n config.onSuccess(registration);\r\n }\r\n }\r\n }\r\n };\r\n };\r\n })\r\n .catch(error => {\r\n console.error('Error during service worker registration:', error);\r\n });\r\n}\r\n\r\nfunction checkValidServiceWorker(swUrl, config) {\r\n // Check if the service worker can be found. If it can't reload the page.\r\n fetch(swUrl)\r\n .then(response => {\r\n // Ensure service worker exists, and that we really are getting a JS file.\r\n const contentType = response.headers.get('content-type');\r\n if (\r\n response.status === 404 ||\r\n (contentType != null && contentType.indexOf('javascript') === -1)\r\n ) {\r\n // No service worker found. Probably a different app. Reload the page.\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister().then(() => {\r\n window.location.reload();\r\n });\r\n });\r\n } else {\r\n // Service worker found. Proceed as normal.\r\n registerValidSW(swUrl, config);\r\n }\r\n })\r\n .catch(() => {\r\n console.log(\r\n 'No internet connection found. App is running in offline mode.'\r\n );\r\n });\r\n}\r\n\r\nexport function unregister() {\r\n if ('serviceWorker' in navigator) {\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister();\r\n });\r\n }\r\n}\r\n","import React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport './index.css';\r\nimport App from './App';\r\nimport * as serviceWorker from './serviceWorker';\r\n\r\nReactDOM.render(, document.getElementById('root'));\r\n\r\n// If you want your app to work offline and load faster, you can change\r\n// unregister() to register() below. Note this comes with some pitfalls.\r\n// Learn more about service workers: https://bit.ly/CRA-PWA\r\nserviceWorker.register();\r\n","import React, { useState, useEffect } from \"react\";\r\nimport Auth, { parseUrl } from \"../utils/accountsAuth\";\r\nimport { useSettings } from \"./SettingsContext\";\r\nimport { withUserInfo } from \"ecrion-components\";\r\n\r\nconst AccountsContext = React.createContext();\r\nlet expiresAt = 0;\r\n\r\nconst getRedirectUrl = () => {\r\n let urlRoot =\r\n window.location.protocol +\r\n \"//\" +\r\n window.location.hostname +\r\n (window.location.port ? \":\" + window.location.port : \"\");\r\n if (process && process.env.REACT_APP_BASE_PATH)\r\n urlRoot += process.env.REACT_APP_BASE_PATH;\r\n\r\n return `${urlRoot}/accounts-auth-callback`;\r\n};\r\n\r\nfunction AccountsProviderBase(props) {\r\n const { userInfo } = props;\r\n const [token, setToken] = React.useState(null);\r\n\r\n const [auth, setAuth] = useState(null);\r\n const settings = useSettings();\r\n\r\n useEffect(() => {\r\n if (settings) {\r\n setAuth(\r\n new Auth({\r\n loginUrl: settings[\"AccountsURL\"] + \"/ServiceLogin.aspx\",\r\n redirectUri: getRedirectUrl()\r\n })\r\n );\r\n }\r\n }, [settings]);\r\n\r\n const setSession = authResult => {\r\n setToken(authResult.accountsToken);\r\n // javascript timestamp is in milliseconds\r\n expiresAt = authResult.expiresAt * 1000;\r\n };\r\n\r\n const handleAuthentication = () => {\r\n setSession(parseUrl());\r\n };\r\n\r\n const signIn = ({ routePath } = {}) => {\r\n if (!auth) return;\r\n\r\n auth.authorize({\r\n redirectParams: { routePath, environment: userInfo.environmentName }\r\n });\r\n };\r\n\r\n const isAuthenticated = () => {\r\n return new Date().getTime() < expiresAt;\r\n };\r\n\r\n return (\r\n \r\n );\r\n}\r\n\r\nfunction useAccountsAuth() {\r\n const context = React.useContext(AccountsContext);\r\n if (context === undefined)\r\n throw new Error(\"useAccountsAuth must be used within a AuthProvider\");\r\n\r\n return context;\r\n}\r\n\r\nconst AccountsProvider = withUserInfo(AccountsProviderBase);\r\n\r\nexport { AccountsProvider, useAccountsAuth };\r\n","import { Utils } from \"ecrion-components\";\r\n\r\nexport const parseUrl = () => {\r\n const parsed = Utils.url.parseUrl(window.location.search).query;\r\n\r\n return {\r\n ...parsed,\r\n expiresAt: parsed.expiresAt ? Number(parsed.expiresAt) : Number.MAX_VALUE\r\n };\r\n};\r\n\r\nconst stringifySearchParams = searchParams => {\r\n let result = \"\";\r\n\r\n for (const key of Object.keys(searchParams)) {\r\n if (result) result += \"&\";\r\n result +=\r\n encodeURIComponent(key) + \"=\" + encodeURIComponent(searchParams[key]);\r\n }\r\n return result;\r\n};\r\n\r\nconst Auth = function(options) {\r\n return {\r\n authorize: ({ redirectParams } = {}) => {\r\n const ssoSearch = {\r\n \"redirect-url\":\r\n options.redirectUri + \"?\" + stringifySearchParams(redirectParams)\r\n };\r\n\r\n window.location =\r\n options.loginUrl +\r\n \"?redirect-url=\" +\r\n encodeURIComponent(ssoSearch[\"redirect-url\"]);\r\n }\r\n };\r\n};\r\n\r\nexport default Auth;\r\n"],"sourceRoot":""}