All Downloads are FREE. Search and download functionalities are using the official Maven repository.

web-interface.assets.57e33c6c-52.11b9f72925818240e61d.js.map Maven / Gradle / Ivy

There is a newer version: 6.0.1
Show newest version
{"version":3,"sources":["webpack:///./src/components/permissions/RolesCell.tsx","webpack:///./src/components/users/UsersQueryHelper.tsx","webpack:///./src/components/users/navigation/UserOverviewLinks.tsx","webpack:///./src/components/users/LoggedInIcon.tsx","webpack:///./src/components/users/UsersOverview/UserOverviewItem/ActionsCell.tsx","webpack:///./src/components/users/UsersOverview/UserOverviewItem/LoggedInCell.tsx","webpack:///./src/components/users/UsersOverview/UserOverviewItem/StatusCell.tsx","webpack:///./src/components/users/UsersOverview/UserOverviewItem/index.ts","webpack:///./src/components/users/UsersOverview/UserOverviewItem/UsersOverviewItem.tsx","webpack:///./src/components/users/UsersOverview/UsersFilter.tsx","webpack:///./src/components/users/UsersOverview/ClientAddressHead.tsx","webpack:///./src/components/users/UsersOverview/SystemAdministratorOverview.tsx","webpack:///./src/components/users/UsersOverview/UsersOverview.tsx","webpack:///./src/components/users/UsersOverview/index.js","webpack:///./src/pages/UsersOverviewPage.tsx"],"names":["Td","styled","td","Role","Label","RolesCell","roles","map","role","key","bsStyle","userQueryHelperPopover","id","title","condensed","UserQueryHelper","trigger","rootClose","placement","overlay","name","UserOverviewLinks","teamsRoute","Routes","getPluginRoute","permissions","to","SYSTEM","USERS","OVERVIEW","Wrapper","div","theme","active","colors","variant","success","LoggedInIcon","rest","ActionsWrapper","EditTokensAction","user","fullName","WrapperComponent","wrapperComponent","TOKENS","edit","bsSize","ReadOnlyActions","tooltip","disabled","Button","EditActions","username","accountStatus","external","readOnly","currentUser","useContext","CurrentUserContext","showEnableDisable","pullRight","MenuItem","onClick","UsersDomain","setStatus","window","confirm","ActionsCell","LoggedInCell","lastActivity","sessionActive","clientAddress","dateTime","relative","enabled","StatusCell","UsersOverviewItem","email","isActive","className","show","UsersFilter","onSearch","wrapperClass","onReset","queryHelpComponent","topMargin","TooltipButton","ClientAddressHead","popover","fixedWidth","SystemAdministratorOverview","adminUser","dataRowFormatter","headers","headerCellFormatter","xs","sortByKey","rows","filterKeys","DEFAULT_PAGINATION","page","perPage","query","TABLE_HEADERS","Container","Header","LoadingSpinner","Spinner","css","fonts","size","h3","StyledPaginatedList","PaginatedList","_headerCellFormatter","header","toLocaleLowerCase","_loadUsers","pagination","setLoading","setPaginatedUsers","loadUsersPaginated","then","paginatedUsers","UsersOverview","useState","loading","setPagination","users","list","total","useEffect","UsersActions","completed","listen","_updateListOnUserDelete","_updateListOnUserSetStatus","searchFilter","newQuery","_usersOverviewItem","userId","UserOverviewItem","text","delay","activePage","totalItems","onChange","newPage","newPerPage","rowClassName","noDataText","toJS","customFilter","filterLabel","UsersOverviewPage","subactions","CREATE","DocumentationLink","DocsHelper","PAGES","USERS_ROLES"],"mappings":"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","file":"57e33c6c-52.11b9f72925818240e61d.js","sourcesContent":["/*\n * Copyright (C) 2020 Graylog, Inc.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the Server Side Public License, version 1,\n * as published by MongoDB, Inc.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * Server Side Public License for more details.\n *\n * You should have received a copy of the Server Side Public License\n * along with this program. If not, see\n * .\n */\nimport * as React from 'react';\nimport styled from 'styled-components';\nimport * as Immutable from 'immutable';\n\nimport { Label } from 'components/graylog';\n\nconst Td = styled.td`\n  max-width: 300px;\n`;\n\nconst Role = styled(Label)`\n  margin-right: 5px;\n  margin-bottom: 5px;\n  display: inline-block;\n  line-height: 15px;\n`;\n\ntype Props = {\n  roles: Immutable.Set,\n};\n\nconst RolesCell = ({ roles }: Props) => (\n  \n    {roles.map((role) => (\n      \n        {role}\n      \n    ))}\n  \n);\n\nexport default RolesCell;\n","/*\n * Copyright (C) 2020 Graylog, Inc.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the Server Side Public License, version 1,\n * as published by MongoDB, Inc.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * Server Side Public License for more details.\n *\n * You should have received a copy of the Server Side Public License\n * along with this program. If not, see\n * .\n */\nimport * as React from 'react';\n\nimport { OverlayTrigger, Popover, Table, Button } from 'components/graylog';\nimport { Icon } from 'components/common';\n\nconst userQueryHelperPopover = (\n  \n    

Available search fields

\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
FieldDescription
full_nameThe full name of a user
usernameThe users login username.
emailThe users email.
\n

Examples

\n

\n Find users with a email containing example.com:
\n email:example.com
\n

\n
\n);\n\nconst UserQueryHelper = () => (\n \n \n \n);\n\nexport default UserQueryHelper;\n","/*\n * Copyright (C) 2020 Graylog, Inc.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the Server Side Public License, version 1,\n * as published by MongoDB, Inc.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * Server Side Public License for more details.\n *\n * You should have received a copy of the Server Side Public License\n * along with this program. If not, see\n * .\n */\nimport * as React from 'react';\n\nimport { LinkContainer } from 'components/graylog/router';\nimport { IfPermitted } from 'components/common';\nimport Routes from 'routing/Routes';\nimport { ButtonToolbar, Button } from 'components/graylog';\n\nconst UserOverviewLinks = () => {\n const teamsRoute = Routes.getPluginRoute('SYSTEM_TEAMS');\n\n return (\n \n \n \n \n \n \n {teamsRoute && (\n \n \n \n \n \n )}\n \n );\n};\n\nexport default UserOverviewLinks;\n","/*\n * Copyright (C) 2020 Graylog, Inc.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the Server Side Public License, version 1,\n * as published by MongoDB, Inc.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * Server Side Public License for more details.\n *\n * You should have received a copy of the Server Side Public License\n * along with this program. If not, see\n * .\n */\nimport * as React from 'react';\nimport styled from 'styled-components';\n\nimport { Icon } from 'components/common';\n\nconst Wrapper = styled.div<{ active: boolean }>(({ theme, active }) => `\n color: ${active ? theme.colors.variant.success : theme.colors.variant.default};\n`);\n\nconst LoggedInIcon = ({ active, ...rest }: { active: boolean }) => (\n \n \n \n);\n\nexport default LoggedInIcon;\n","/*\n * Copyright (C) 2020 Graylog, Inc.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the Server Side Public License, version 1,\n * as published by MongoDB, Inc.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * Server Side Public License for more details.\n *\n * You should have received a copy of the Server Side Public License\n * along with this program. If not, see\n * .\n */\nimport * as React from 'react';\nimport { useContext } from 'react';\nimport styled from 'styled-components';\n\nimport CurrentUserContext from 'contexts/CurrentUserContext';\nimport { LinkContainer } from 'components/graylog/router';\nimport UserOverview from 'logic/users/UserOverview';\nimport UsersDomain from 'domainActions/users/UsersDomain';\nimport Routes from 'routing/Routes';\nimport { Button, OverlayTrigger, Tooltip, DropdownButton, MenuItem } from 'components/graylog';\nimport { IfPermitted } from 'components/common';\n\ntype Props = {\n user: UserOverview,\n};\n\nconst ActionsWrapper = styled.div`\n display: flex;\n justify-content: flex-end;\n`;\n\nconst EditTokensAction = ({\n user: { fullName, id },\n wrapperComponent: WrapperComponent,\n}: {\n user: UserOverview,\n wrapperComponent: Button | MenuItem,\n}) => (\n \n \n Edit tokens\n \n \n);\n\nconst ReadOnlyActions = ({ user }: { user: UserOverview }) => {\n const tooltip = System users can only be modified in the Graylog configuration file.;\n\n return (\n <>\n \n \n \n  \n \n \n );\n};\n\nconst EditActions = ({ user, user: { username, id, fullName, accountStatus, external, readOnly } }: { user: UserOverview }) => {\n const currentUser = useContext(CurrentUserContext);\n\n const _toggleStatus = () => {\n if (accountStatus === 'enabled') {\n // eslint-disable-next-line no-alert\n if (window.confirm(`Do you really want to disable user ${fullName}? All current sessions will be terminated.`)) {\n UsersDomain.setStatus(id, 'disabled');\n }\n\n return;\n }\n\n UsersDomain.setStatus(id, 'enabled');\n };\n\n const _deleteUser = () => {\n // eslint-disable-next-line no-alert\n if (window.confirm(`Do you really want to delete user ${fullName}?`)) {\n UsersDomain.delete(id, fullName);\n }\n };\n\n const showEnableDisable = !external && !readOnly && currentUser?.id !== id;\n\n return (\n <>\n \n \n \n \n \n  \n \n \n \n {showEnableDisable && (\n \n {accountStatus === 'enabled' ? 'Disable' : 'Enable'}\n \n )}\n \n Delete\n \n \n \n \n );\n};\n\nconst ActionsCell = ({ user }: Props) => (\n \n \n {user.readOnly ? (\n \n ) : (\n \n )}\n \n \n);\n\nexport default ActionsCell;\n","/*\n * Copyright (C) 2020 Graylog, Inc.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the Server Side Public License, version 1,\n * as published by MongoDB, Inc.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * Server Side Public License for more details.\n *\n * You should have received a copy of the Server Side Public License\n * along with this program. If not, see\n * .\n */\nimport * as React from 'react';\nimport styled from 'styled-components';\nimport { $PropertyType } from 'utility-types';\n\nimport UserOverview from 'logic/users/UserOverview';\nimport { OverlayTrigger, Popover } from 'components/graylog';\nimport { Timestamp } from 'components/common';\n\nimport LoggedInIcon from '../../LoggedInIcon';\n\ntype Props = {\n lastActivity: $PropertyType,\n clientAddress: $PropertyType,\n sessionActive: $PropertyType,\n};\n\nconst Td = styled.td`\n width: 35px;\n text-align: right;\n position: relative;\n`;\n\nconst LoggedInCell = ({ lastActivity, sessionActive, clientAddress }: Props) => {\n return (\n \n \n {sessionActive ? (\n <>\n
Last activity: {lastActivity\n ? : '-'}\n
\n
Client address: {clientAddress ?? '-'}
\n \n ) : 'Not logged in'}\n \n )}\n rootClose>\n \n
\n \n );\n};\n\nexport default LoggedInCell;\n","/*\n * Copyright (C) 2020 Graylog, Inc.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the Server Side Public License, version 1,\n * as published by MongoDB, Inc.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * Server Side Public License for more details.\n *\n * You should have received a copy of the Server Side Public License\n * along with this program. If not, see\n * .\n */\nimport * as React from 'react';\nimport styled from 'styled-components';\nimport { $PropertyType } from 'utility-types';\n\nimport UserOverview from 'logic/users/UserOverview';\nimport { OverlayTrigger, Popover } from 'components/graylog';\nimport { Icon } from 'components/common';\n\ntype Props = {\n accountStatus: $PropertyType,\n};\n\nconst Wrapper = styled.div<{ enabled: boolean }>(({ theme, enabled }) => `\n color: ${enabled ? theme.colors.variant.success : theme.colors.variant.default};\n`);\n\nconst Td = styled.td`\n width: 35px;\n text-align: center;\n`;\n\nconst StatusCell = ({ accountStatus }: Props) => (\n \n \n {`User is ${accountStatus}`}\n \n )}\n rootClose>\n \n \n \n \n \n);\n\nexport default StatusCell;\n","/*\n * Copyright (C) 2020 Graylog, Inc.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the Server Side Public License, version 1,\n * as published by MongoDB, Inc.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * Server Side Public License for more details.\n *\n * You should have received a copy of the Server Side Public License\n * along with this program. If not, see\n * .\n */\nimport UsersOverviewItem from './UsersOverviewItem';\n\nexport default UsersOverviewItem;\n","/*\n * Copyright (C) 2020 Graylog, Inc.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the Server Side Public License, version 1,\n * as published by MongoDB, Inc.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * Server Side Public License for more details.\n *\n * You should have received a copy of the Server Side Public License\n * along with this program. If not, see\n * .\n */\nimport * as React from 'react';\n\nimport { Link } from 'components/graylog/router';\nimport Routes from 'routing/Routes';\nimport UserOverview from 'logic/users/UserOverview';\nimport RolesCell from 'components/permissions/RolesCell';\n\nimport ActionsCell from './ActionsCell';\nimport LoggedInCell from './LoggedInCell';\nimport StatusCell from './StatusCell';\n\ntype Props = {\n user: UserOverview,\n isActive: boolean,\n};\n\nconst UsersOverviewItem = ({\n user,\n user: {\n id,\n clientAddress,\n email,\n fullName,\n lastActivity,\n sessionActive,\n username,\n roles,\n accountStatus,\n },\n isActive,\n}: Props) => {\n return (\n \n \n \n \n {fullName}\n \n \n {username}\n {email}\n {clientAddress}\n \n \n \n \n );\n};\n\nexport default UsersOverviewItem;\n","/*\n * Copyright (C) 2020 Graylog, Inc.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the Server Side Public License, version 1,\n * as published by MongoDB, Inc.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * Server Side Public License for more details.\n *\n * You should have received a copy of the Server Side Public License\n * along with this program. If not, see\n * .\n */\nimport * as React from 'react';\n\nimport { SearchForm } from 'components/common';\n\nimport UserQueryHelper from '../UsersQueryHelper';\n\ntype Props = {\n onSearch: (query: string) => void,\n};\n\nconst UsersFilter = ({ onSearch }: Props) => (\n onSearch('')}\n queryHelpComponent={}\n topMargin={0} />\n);\n\nexport default UsersFilter;\n","/*\n * Copyright (C) 2020 Graylog, Inc.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the Server Side Public License, version 1,\n * as published by MongoDB, Inc.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * Server Side Public License for more details.\n *\n * You should have received a copy of the Server Side Public License\n * along with this program. If not, see\n * .\n */\nimport * as React from 'react';\nimport styled from 'styled-components';\n\nimport { OverlayTrigger, Popover, Button } from 'components/graylog';\nimport { Icon } from 'components/common';\n\ntype Props = {\n title: string,\n};\n\nconst TooltipButton = styled(Button)`\n cursor: help;\n padding: 0 0 0 2px;\n display: inline-flex;\n`;\n\nconst ClientAddressHead = ({ title }: Props) => {\n const popover = (\n \n

\n The address of the client used to initially establish the session, not necessarily its current address.\n

\n
\n );\n\n return (\n \n {title}\n \n \n \n \n \n \n );\n};\n\nexport default ClientAddressHead;\n","/*\n * Copyright (C) 2020 Graylog, Inc.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the Server Side Public License, version 1,\n * as published by MongoDB, Inc.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * Server Side Public License for more details.\n *\n * You should have received a copy of the Server Side Public License\n * along with this program. If not, see\n * .\n */\nimport * as React from 'react';\n\nimport UserOverview from 'logic/users/UserOverview';\nimport { DataTable } from 'components/common';\nimport { Col, Row } from 'components/graylog';\n\ntype Props = {\n adminUser: UserOverview,\n dataRowFormatter: (user: UserOverview) => React.ReactElement,\n headerCellFormatter: (header: string) => React.ReactElement,\n headers: Array,\n};\n\nconst SystemAdministratorOverview = ({ adminUser, dataRowFormatter, headers, headerCellFormatter }: Props) => (\n \n \n

System Administrator

\n

\n The system administrator can only be edited in the Graylog configuration file.\n

\n \n \n
\n);\n\nexport default SystemAdministratorOverview;\n","/*\n * Copyright (C) 2020 Graylog, Inc.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the Server Side Public License, version 1,\n * as published by MongoDB, Inc.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * Server Side Public License for more details.\n *\n * You should have received a copy of the Server Side Public License\n * along with this program. If not, see\n * .\n */\nimport * as React from 'react';\nimport { useEffect, useContext, useState } from 'react';\nimport styled, { css } from 'styled-components';\n\nimport type { PaginatedUsers } from 'actions/users/UsersActions';\nimport UsersDomain from 'domainActions/users/UsersDomain';\nimport { UsersActions } from 'stores/users/UsersStore';\nimport CurrentUserContext from 'contexts/CurrentUserContext';\nimport { DataTable, Spinner, PaginatedList, EmptyResult } from 'components/common';\nimport { Col, Row } from 'components/graylog';\nimport UserOverview from 'logic/users/UserOverview';\n\nimport UserOverviewItem from './UserOverviewItem';\nimport UsersFilter from './UsersFilter';\nimport ClientAddressHead from './ClientAddressHead';\nimport SystemAdministrator from './SystemAdministratorOverview';\n\nconst DEFAULT_PAGINATION = {\n page: 1,\n perPage: 10,\n query: '',\n};\n\nconst TABLE_HEADERS = ['', 'Full name', 'Username', 'E-Mail Address', 'Client Address', 'Enabled', 'Role', 'Actions'];\n\nconst Container = styled.div`\n .data-table {\n overflow-x: visible;\n }\n`;\n\nconst Header = styled.div`\n display: flex;\n align-items: center;\n`;\n\nconst LoadingSpinner = styled(Spinner)(({ theme }) => css`\n margin-left: 10px;\n font-size: ${theme.fonts.size.h3};\n`);\n\nconst StyledPaginatedList = styled(PaginatedList)`\n .pagination {\n margin: 0;\n }\n`;\n\nconst _headerCellFormatter = (header) => {\n switch (header.toLocaleLowerCase()) {\n case 'client address':\n return ;\n case 'actions':\n return {header};\n default:\n return {header};\n }\n};\n\nconst _loadUsers = (pagination, setLoading, setPaginatedUsers) => {\n setLoading(true);\n\n UsersDomain.loadUsersPaginated(pagination).then((paginatedUsers) => {\n setPaginatedUsers(paginatedUsers);\n setLoading(false);\n });\n};\n\nconst _updateListOnUserDelete = (perPage, query, setPagination) => UsersActions.delete.completed.listen(() => setPagination({ page: DEFAULT_PAGINATION.page, perPage, query }));\nconst _updateListOnUserSetStatus = (pagination, setLoading, setPaginatedUsers) => UsersActions.setStatus.completed.listen(() => _loadUsers(pagination, setLoading, setPaginatedUsers));\n\nconst UsersOverview = () => {\n const currentUser = useContext(CurrentUserContext);\n const [paginatedUsers, setPaginatedUsers] = useState();\n const [loading, setLoading] = useState(false);\n const [pagination, setPagination] = useState(DEFAULT_PAGINATION);\n const { list: users, adminUser, pagination: { total = 0 } = {} } = paginatedUsers || {};\n const { page, query, perPage } = pagination;\n\n useEffect(() => _loadUsers(pagination, setLoading, setPaginatedUsers), [pagination]);\n useEffect(() => _updateListOnUserDelete(perPage, query, setPagination), [perPage, query]);\n useEffect(() => _updateListOnUserSetStatus(pagination, setLoading, setPaginatedUsers), [pagination]);\n\n if (!users) {\n return ;\n }\n\n const searchFilter = setPagination({ ...pagination, query: newQuery, page: DEFAULT_PAGINATION.page })} />;\n\n const _usersOverviewItem = (user: UserOverview) => {\n const { id: userId } = user;\n\n return ;\n };\n\n return (\n \n {adminUser && (\n \n )}\n \n \n
\n

Users

\n {loading && }\n
\n

\n Found {total} registered users on the system.\n

\n setPagination({ ...pagination, page: newPage, perPage: newPerPage })}>\n No users have been found.}\n rows={users.toJS()}\n customFilter={searchFilter}\n dataRowFormatter={_usersOverviewItem}\n filterKeys={[]}\n filterLabel=\"Filter Users\" />\n \n \n
\n
\n );\n};\n\nexport default UsersOverview;\n","/*\n * Copyright (C) 2020 Graylog, Inc.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the Server Side Public License, version 1,\n * as published by MongoDB, Inc.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * Server Side Public License for more details.\n *\n * You should have received a copy of the Server Side Public License\n * along with this program. If not, see\n * .\n */\nimport UsersOverview from './UsersOverview';\n\nexport default UsersOverview;\n","/*\n * Copyright (C) 2020 Graylog, Inc.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the Server Side Public License, version 1,\n * as published by MongoDB, Inc.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * Server Side Public License for more details.\n *\n * You should have received a copy of the Server Side Public License\n * along with this program. If not, see\n * .\n */\nimport * as React from 'react';\n\nimport { LinkContainer } from 'components/graylog/router';\nimport Routes from 'routing/Routes';\nimport DocsHelper from 'util/DocsHelper';\nimport { Button } from 'components/graylog';\nimport { PageHeader, DocumentTitle } from 'components/common';\nimport UsersOverview from 'components/users/UsersOverview';\nimport UserOverviewLinks from 'components/users/navigation/UserOverviewLinks';\nimport DocumentationLink from 'components/support/DocumentationLink';\n\nconst UsersOverviewPage = () => (\n \n \n \n \n )}>\n Overview of Graylog's registered users.\n\n \n Learn more in the{' '}\n \n \n\n \n \n\n \n \n);\n\nexport default UsersOverviewPage;\n"],"sourceRoot":""}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy