web-interface.assets.bb8c8232-4297.f2158f4c3614289dc175.js.map Maven / Gradle / Ivy
{"version":3,"file":"bb8c8232-4297.f2158f4c3614289dc175.js","mappings":"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","sources":["webpack://graylog-web-interface/./src/components/common/PageNavigation.tsx","webpack://graylog-web-interface/./src/components/permissions/RolesCell.tsx","webpack://graylog-web-interface/./src/components/users/UsersQueryHelper.tsx","webpack://graylog-web-interface/./src/components/users/navigation/UsersPageNavigation.tsx","webpack://graylog-web-interface/./src/components/users/UsersOverview/UserOverviewItem/ActionsCell.tsx","webpack://graylog-web-interface/./src/components/users/LoggedInIcon.tsx","webpack://graylog-web-interface/./src/components/users/UsersOverview/UserOverviewItem/LoggedInCell.tsx","webpack://graylog-web-interface/./src/components/users/UsersOverview/UserOverviewItem/StatusCell.tsx","webpack://graylog-web-interface/./src/components/users/UsersOverview/UserOverviewItem/index.ts","webpack://graylog-web-interface/./src/components/users/UsersOverview/UserOverviewItem/UsersOverviewItem.tsx","webpack://graylog-web-interface/./src/components/users/UsersOverview/UsersFilter.tsx","webpack://graylog-web-interface/./src/components/users/UsersOverview/ClientAddressHead.tsx","webpack://graylog-web-interface/./src/components/users/UsersOverview/SystemAdministratorOverview.tsx","webpack://graylog-web-interface/./src/components/users/UsersOverview/UsersOverview.tsx","webpack://graylog-web-interface/./src/components/users/UsersOverview/index.ts","webpack://graylog-web-interface/./src/pages/UsersOverviewPage.tsx"],"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, { css } from 'styled-components';\n\nimport { Button, ButtonToolbar } from 'components/bootstrap';\nimport { LinkContainer } from 'components/common/router';\nimport { IfPermitted } from 'components/common';\nimport NavItemStateIndicator, {\n hoverIndicatorStyles,\n activeIndicatorStyles,\n} from 'components/common/NavItemStateIndicator';\n\nconst Container = styled(ButtonToolbar)`\n margin-bottom: 10px;\n`;\n\nconst StyledButton = styled(Button)(({ theme }) => css`\n font-family: ${theme.fonts.family.navigation};\n font-size: ${theme.fonts.size.navigation};\n color: ${theme.colors.variant.darker.default};\n \n &:hover,\n &:focus {\n background: inherit;\n text-decoration: none;\n }\n\n &:hover {\n color: inherit;\n ${hoverIndicatorStyles(theme)}\n }\n\n &.active {\n color: ${theme.colors.global.textDefault};\n\n ${activeIndicatorStyles(theme)}\n\n &:hover,\n &:focus {\n ${activeIndicatorStyles(theme)}\n }\n`);\n\nStyledButton.displayName = 'Button';\n\ntype Props = {\n /**\n * List of nav items. Define permissions, if the item should only be displayed for users with specific permissions.\n * By default, an item is active if the current URL starts with the item URL.\n * If you only want to display an item as active only when its path matches exactly, set `exactPathMatch` to true.\n */\n items: Array<{\n title: string,\n path: string,\n permissions?: string | Array\n exactPathMatch?: boolean,\n }>\n}\n\n/**\n * Simple tab navigation to allow navigating to subareas of a page.\n */\nconst PageNavigation = ({ items }: Props) => (\n \n {items.map(({ path, title, permissions, exactPathMatch }) => {\n if (!path) {\n return null;\n }\n\n return (\n \n \n \n \n {title}\n \n \n \n \n );\n })}\n \n);\n\nexport default PageNavigation;\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 type * as Immutable from 'immutable';\n\nimport { Label } from 'components/bootstrap';\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 padding: 4px 6px;\n`;\n\ntype Props = {\n roles: Immutable.Set,\n};\n\nconst RolesCell = ({ roles }: Props) => (\n \n {roles.map((role) => (\n \n {role}\n \n )).toArray()}\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 QueryHelper from 'components/common/QueryHelper';\n\nconst queryExample = (\n \n Find users with a email containing example.com:
\n email:example.com
\n
\n);\n\nconst fieldMap = {\n full_name: 'The full name of a user',\n username: 'The users login username.',\n email: 'The users email.',\n};\n\nconst UserQueryHelper = () => (\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 Routes from 'routing/Routes';\nimport PageNavigation from 'components/common/PageNavigation';\nimport { Row } from 'components/bootstrap';\n\nconst UsersPageNavigation = () => {\n const NAV_ITEMS = [\n { title: 'Users Overview', path: Routes.SYSTEM.USERS.OVERVIEW, permissions: 'users:list' },\n { title: 'Teams Overview', path: Routes.getPluginRoute('SYSTEM_TEAMS'), permissions: 'teams:list' },\n ];\n\n return (\n \n \n
\n );\n};\n\nexport default UsersPageNavigation;\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 useCurrentUser from 'hooks/useCurrentUser';\nimport { LinkContainer } from 'components/common/router';\nimport type UserOverview from 'logic/users/UserOverview';\nimport UsersDomain from 'domainActions/users/UsersDomain';\nimport Routes from 'routing/Routes';\nimport { Button, DropdownButton, MenuItem, ButtonToolbar } from 'components/bootstrap';\nimport { OverlayTrigger, IfPermitted } from 'components/common';\nimport { getPathnameWithoutId } from 'util/URLUtils';\nimport useSendTelemetry from 'logic/telemetry/useSendTelemetry';\nimport useLocation from 'routing/useLocation';\nimport { TELEMETRY_EVENT_TYPE } from 'logic/telemetry/Constants';\n\ntype Props = {\n user: UserOverview,\n};\n\nconst ActionsWrapper = styled(ButtonToolbar)`\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: React.ComponentType,\n}) => (\n \n \n Edit tokens\n \n \n);\n\nconst ReadOnlyActions = ({ user }: { user: UserOverview }) => {\n const tooltip = (\n <>\n System users can only be modified in the Graylog configuration file.\n >\n );\n\n return (\n <>\n \n \n \n \n >\n );\n};\n\nconst EditActions = ({ user, user: { username, id, fullName, accountStatus, external, readOnly } }: {\n user: UserOverview\n}) => {\n const currentUser = useCurrentUser();\n const sendTelemetry = useSendTelemetry();\n const { pathname } = useLocation();\n\n const _toggleStatus = () => {\n if (accountStatus === 'enabled') {\n sendTelemetry(TELEMETRY_EVENT_TYPE.USERS.USER_DISABLED, {\n app_pathname: getPathnameWithoutId(pathname),\n app_action_value: 'user-item-disable',\n });\n\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 sendTelemetry(TELEMETRY_EVENT_TYPE.USERS.USER_ENABLED, {\n app_pathname: getPathnameWithoutId(pathname),\n app_action_value: 'user-item-enable',\n });\n };\n\n const _deleteUser = () => {\n sendTelemetry(TELEMETRY_EVENT_TYPE.USERS.USER_DELETED, {\n app_pathname: getPathnameWithoutId(pathname),\n app_action_value: 'user-item-delete',\n });\n\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 {showEnableDisable && (\n \n )}\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, { css } from 'styled-components';\n\nimport { Icon } from 'components/common';\n\nconst Wrapper = styled.div<{ $active: boolean }>(({ theme, $active }) => css`\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 styled from 'styled-components';\nimport type { $PropertyType } from 'utility-types';\n\nimport type UserOverview from 'logic/users/UserOverview';\nimport { OverlayTrigger, RelativeTime } 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 \n \n Last activity: {lastActivity\n ? : '-'}\n \n Client address: {clientAddress ?? '-'}\n >\n )\n : <>Not logged in>}\n rootClose>\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, { css } from 'styled-components';\nimport type { $PropertyType } from 'utility-types';\n\nimport type UserOverview from 'logic/users/UserOverview';\nimport { Icon } from 'components/common';\nimport Tooltip from 'components/common/Tooltip';\n\ntype Props = {\n authServiceEnabled: $PropertyType,\n accountStatus: $PropertyType,\n};\n\nconst Wrapper = styled.div<{ $enabled: boolean }>(({ theme, $enabled }) => css`\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, authServiceEnabled }: Props) => (\n \n {`User is ${accountStatus}`}{!authServiceEnabled ? ' (authentication service is disabled)' : ''}>}>\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/common/router';\nimport Routes from 'routing/Routes';\nimport type 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 authServiceEnabled,\n },\n isActive,\n}: Props) => (\n \n \n \n \n {fullName}\n \n \n {username} \n {email} \n {clientAddress} \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';\nimport { useDisclosure } from '@mantine/hooks';\n\nimport { Icon, Tooltip } from 'components/common';\nimport { Button } from 'components/bootstrap';\n\ntype Props = {\n title: string,\n};\n\nconst IconWithHelp = styled(Icon)`\n cursor: help;\n`;\n\nconst ClientAddressHead = ({ title }: Props) => {\n const [opened, { toggle }] = useDisclosure(false);\n\n return (\n \n {title}\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 type UserOverview from 'logic/users/UserOverview';\nimport { DataTable } from 'components/common';\nimport { Col, Row } from 'components/bootstrap';\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, useState } from 'react';\nimport styled, { css } from 'styled-components';\n\nimport type { PaginatedUsers } from 'stores/users/UsersStore';\nimport UsersDomain from 'domainActions/users/UsersDomain';\nimport { UsersActions } from 'stores/users/UsersStore';\nimport useCurrentUser from 'hooks/useCurrentUser';\nimport { DataTable, Spinner, PaginatedList, NoSearchResult } from 'components/common';\nimport { Col, Row } from 'components/bootstrap';\nimport type UserOverview from 'logic/users/UserOverview';\nimport usePaginationQueryParameter from 'hooks/usePaginationQueryParameter';\n\nimport UserOverviewItem from './UserOverviewItem';\nimport UsersFilter from './UsersFilter';\nimport ClientAddressHead from './ClientAddressHead';\nimport SystemAdministrator from './SystemAdministratorOverview';\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.toLowerCase()) {\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 = (pagination, setLoading, setPaginatedUsers, callback: () => void) => UsersActions.delete.completed.listen(() => {\n _loadUsers(pagination, setLoading, setPaginatedUsers);\n callback();\n});\nconst _updateListOnUserSetStatus = (pagination, setLoading, setPaginatedUsers) => UsersActions.setStatus.completed.listen(() => _loadUsers(pagination, setLoading, setPaginatedUsers));\n\nconst buildUsersOverviewItem = (currentUser: any) => (user: UserOverview) => {\n const { id: userId } = user;\n\n return ;\n};\n\nconst UsersOverview = () => {\n const { page, pageSize: perPage, resetPage } = usePaginationQueryParameter();\n const currentUser = useCurrentUser();\n const [paginatedUsers, setPaginatedUsers] = useState();\n const [loading, setLoading] = useState(false);\n const [query, setQuery] = useState('');\n const { list: users, adminUser, pagination: { total = 0 } = {} } = paginatedUsers || {};\n\n useEffect(() => _loadUsers({ page, perPage, query }, setLoading, setPaginatedUsers), [page, perPage, query]);\n useEffect(() => _updateListOnUserDelete({ page, perPage, query }, setLoading, setPaginatedUsers, resetPage), [page, perPage, query, resetPage]);\n useEffect(() => _updateListOnUserSetStatus({ page, perPage, query }, setLoading, setPaginatedUsers), [page, perPage, query]);\n\n if (!users) {\n return ;\n }\n\n const handleSearch = (newQuery: string) => {\n resetPage();\n setQuery(newQuery);\n };\n\n const searchFilter = ;\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 \n No users have been found.}\n rows={users.toJS()}\n customFilter={searchFilter}\n dataRowFormatter={buildUsersOverviewItem(currentUser)}\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/common/router';\nimport Routes from 'routing/Routes';\nimport DocsHelper from 'util/DocsHelper';\nimport { Button } from 'components/bootstrap';\nimport { PageHeader, DocumentTitle } from 'components/common';\nimport UsersOverview from 'components/users/UsersOverview';\nimport UsersPageNavigation from 'components/users/navigation/UsersPageNavigation';\n\nconst UsersOverviewPage = () => (\n \n \n \n \n \n )}\n documentationLink={{\n title: 'Permissions documentation',\n path: DocsHelper.PAGES.USERS_ROLES,\n }}>\n Overview of Graylog's registered users.\n \n\n \n \n);\n\nexport default UsersOverviewPage;\n"],"names":["Container","StyledButton","theme","items","path","title","permissions","exactPathMatch","Td","Role","roles","role","queryExample","fieldMap","NAV_ITEMS","ActionsWrapper","EditTokensAction","fullName","id","WrapperComponent","Routes","ReadOnlyActions","user","tooltip","EditActions","username","accountStatus","external","readOnly","currentUser","useCurrentUser","sendTelemetry","useSendTelemetry","pathname","useLocation","_toggleStatus","UsersDomain","_deleteUser","showEnableDisable","Wrapper","$active","active","rest","lastActivity","sessionActive","clientAddress","$enabled","authServiceEnabled","Tooltip","email","isActive","RolesCell","onSearch","IconWithHelp","opened","toggle","adminUser","dataRowFormatter","headers","headerCellFormatter","TABLE_HEADERS","Header","LoadingSpinner","StyledPaginatedList","_headerCellFormatter","header","_loadUsers","pagination","setLoading","setPaginatedUsers","paginatedUsers","_updateListOnUserDelete","callback","_updateListOnUserSetStatus","buildUsersOverviewItem","userId","UserOverviewItem","page","perPage","resetPage","usePaginationQueryParameter","loading","query","setQuery","users","total","handleSearch","newQuery","searchFilter","UsersPageNavigation","DocsHelper"],"sourceRoot":""}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy