web-interface.assets.LoggedInPage.0aef8764c045e3ebf925.js.map Maven / Gradle / Ivy
{"version":3,"file":"LoggedInPage.0aef8764c045e3ebf925.js","mappings":"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","sources":["webpack://graylog-web-interface/./src/logic/telemetry/TelemetryInfoText.tsx","webpack://graylog-web-interface/./src/logic/users/User.ts","webpack://graylog-web-interface/./src/pages/index.jsx","webpack://graylog-web-interface/./src/components/errors/RouterErrorBoundary.jsx","webpack://graylog-web-interface/./src/contexts/GlobalContextProviders.tsx","webpack://graylog-web-interface/./src/routing/AppRouter.tsx","webpack://graylog-web-interface/./src/contexts/CurrentUserPreferencesProvider.tsx","webpack://graylog-web-interface/./src/contexts/CurrentUserProvider.tsx","webpack://graylog-web-interface/./src/contexts/UserDateTimeProvider.tsx","webpack://graylog-web-interface/./src/contexts/ThemeAndUserProvider.jsx","webpack://graylog-web-interface/./src/contexts/StreamsProvider.tsx","webpack://graylog-web-interface/./src/contexts/DefaultQueryClientProvider.tsx","webpack://graylog-web-interface/./src/logic/telemetry/TelemetryInfoModal.tsx","webpack://graylog-web-interface/./src/logic/telemetry/useTelemetryData.tsx","webpack://graylog-web-interface/./src/logic/telemetry/TelemetryProvider.tsx","webpack://graylog-web-interface/./src/contexts/NodesProvider.tsx","webpack://graylog-web-interface/./src/contexts/InputsProvider.tsx","webpack://graylog-web-interface/./src/pages/LoggedInPage.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 React from 'react';\n\nimport { ExternalLink } from 'components/common';\nimport { Alert } from 'components/bootstrap';\n\ntype Props = {\n showProfile?: boolean\n}\n\nconst TelemetryInfoText = ({ showProfile }: Props) => (\n \n We would like to collect anonymous usage data to help us prioritize improvements\n and make Graylog better in the future.\n
\n We do not collect personal data, sensitive information, or content such as logs in your\n instances.\n
\n Learn more on our Privacy Policy .\n
\n You can turn data collection off or on any time\n {showProfile && in the user profile}\n {!showProfile && ' here'}.\n \n);\n\nTelemetryInfoText.defaultProps = {\n showProfile: undefined,\n};\n\nexport default TelemetryInfoText;\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 Immutable from 'immutable';\nimport type { $PropertyType } from 'utility-types';\n\nimport type { PreferencesMap } from 'stores/users/PreferencesStore';\n\nimport type { AccountStatus } from './UserOverview';\n\nexport type StartPage = {\n id: string;\n type: 'dashboard' | 'stream' | 'search'\n};\n\nexport type UserJSON = {\n client_address: string;\n email: string;\n external: boolean;\n full_name: string;\n first_name: string;\n last_name: string;\n id: string;\n last_activity: string | null | undefined;\n permissions: string[];\n grn_permissions?: string[];\n preferences: PreferencesMap;\n read_only: boolean;\n roles: string[];\n session_active: boolean;\n session_timeout_ms: number;\n startpage?: StartPage;\n timezone: string | null | undefined;\n username: string;\n account_status: AccountStatus;\n service_account: boolean;\n auth_service_enabled: boolean;\n};\n\ntype InternalState = {\n id: string;\n username: string;\n fullName: string;\n firstName: string;\n lastName: string;\n email: string;\n grnPermissions: Immutable.List;\n permissions: Immutable.List;\n timezone: string | null | undefined;\n preferences: PreferencesMap;\n roles: Immutable.Set;\n readOnly: boolean;\n external: boolean;\n sessionTimeoutMs: number;\n startpage?: StartPage;\n sessionActive: boolean;\n clientAddress: string;\n lastActivity: string | null | undefined;\n accountStatus: AccountStatus;\n serviceAccount: boolean;\n authServiceEnabled: boolean;\n};\n\nexport default class User {\n _value: InternalState;\n\n constructor(\n id: $PropertyType,\n username: $PropertyType,\n fullName: $PropertyType,\n firstName: $PropertyType,\n lastName: $PropertyType,\n email: $PropertyType,\n permissions: $PropertyType,\n timezone: $PropertyType,\n preferences: $PropertyType,\n roles: $PropertyType,\n readOnly: $PropertyType,\n external: $PropertyType,\n sessionTimeoutMs: $PropertyType,\n startpage: $PropertyType,\n sessionActive: $PropertyType,\n clientAddress: $PropertyType,\n lastActivity: $PropertyType,\n accountStatus: $PropertyType,\n serviceAccount: $PropertyType,\n grnPermissions: $PropertyType,\n authServiceEnabled: $PropertyType,\n ) {\n this._value = {\n id,\n username,\n fullName,\n firstName,\n lastName,\n email,\n permissions,\n timezone,\n preferences,\n roles,\n readOnly,\n external,\n sessionTimeoutMs,\n startpage,\n sessionActive,\n clientAddress,\n lastActivity,\n accountStatus,\n grnPermissions,\n serviceAccount,\n authServiceEnabled,\n };\n }\n\n get id() {\n return this._value.id;\n }\n\n get username() {\n return this._value.username;\n }\n\n get fullName() {\n return this._value.fullName;\n }\n\n get firstName() {\n return this._value.firstName;\n }\n\n get lastName() {\n return this._value.lastName;\n }\n\n get email() {\n return this._value.email;\n }\n\n get grnPermissions() {\n return this._value.grnPermissions;\n }\n\n get permissions() {\n return this._value.permissions;\n }\n\n get timezone() {\n return this._value.timezone;\n }\n\n get preferences() {\n return this._value.preferences;\n }\n\n get roles() {\n return this._value.roles;\n }\n\n get readOnly() {\n return this._value.readOnly;\n }\n\n get external() {\n return this._value.external;\n }\n\n get accountStatus() {\n return this._value.accountStatus;\n }\n\n get serviceAccount() {\n return this._value.serviceAccount;\n }\n\n get sessionTimeoutMs() {\n return this._value.sessionTimeoutMs;\n }\n\n get sessionTimeout() {\n if (!this.sessionTimeoutMs) {\n return undefined;\n }\n\n const MS_DAY = 24 * 60 * 60 * 1000;\n const MS_HOUR = 60 * 60 * 1000;\n const MS_MINUTE = 60 * 1000;\n const MS_SECOND = 1000;\n\n const _estimateUnit = (value): [number, string] => {\n if (value === 0) {\n return [MS_SECOND, 'Seconds'];\n }\n\n if (value % MS_DAY === 0) {\n return [MS_DAY, 'Days'];\n }\n\n if (value % MS_HOUR === 0) {\n return [MS_HOUR, 'Hours'];\n }\n\n if (value % MS_MINUTE === 0) {\n return [MS_MINUTE, 'Minutes'];\n }\n\n return [MS_SECOND, 'Seconds'];\n };\n\n const unit = _estimateUnit(this.sessionTimeoutMs);\n const value = Math.floor(this.sessionTimeoutMs / unit[0]);\n\n return {\n value,\n unitMS: unit[0],\n unitString: unit[1],\n };\n }\n\n get startpage() {\n return this._value.startpage;\n }\n\n get sessionActive() {\n return this._value.sessionActive;\n }\n\n get clientAddress() {\n return this._value.clientAddress;\n }\n\n get lastActivity() {\n return this._value.lastActivity;\n }\n\n get authServiceEnabled() {\n return this._value.authServiceEnabled;\n }\n\n toBuilder() {\n const {\n id,\n username,\n fullName,\n firstName,\n lastName,\n email,\n permissions,\n grnPermissions,\n timezone,\n preferences,\n roles,\n readOnly,\n external,\n sessionTimeoutMs,\n startpage,\n sessionActive,\n clientAddress,\n lastActivity,\n accountStatus,\n serviceAccount,\n authServiceEnabled,\n } = this._value;\n\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n return new Builder(Immutable.Map({\n id,\n username,\n fullName,\n firstName,\n lastName,\n email,\n permissions,\n timezone,\n grnPermissions,\n preferences,\n roles,\n readOnly,\n external,\n sessionTimeoutMs,\n startpage,\n sessionActive,\n clientAddress,\n lastActivity,\n accountStatus,\n serviceAccount,\n authServiceEnabled,\n }));\n }\n\n static create(\n id: $PropertyType,\n username: $PropertyType,\n fullName: $PropertyType,\n firstName: $PropertyType,\n lastName: $PropertyType,\n email: $PropertyType,\n permissions: $PropertyType,\n timezone: $PropertyType,\n preferences: $PropertyType,\n roles: $PropertyType,\n readOnly: $PropertyType,\n external: $PropertyType,\n sessionTimeoutMs: $PropertyType,\n startpage: $PropertyType,\n sessionActive: $PropertyType,\n clientAddress: $PropertyType,\n lastActivity: $PropertyType,\n accountStatus: $PropertyType,\n serviceAccount: $PropertyType,\n grnPermissions: $PropertyType,\n authServiceEnabled: $PropertyType,\n ) {\n return new User(\n id,\n username,\n fullName,\n firstName,\n lastName,\n email,\n permissions,\n timezone,\n preferences,\n roles,\n readOnly,\n external,\n sessionTimeoutMs,\n startpage,\n sessionActive,\n clientAddress,\n lastActivity,\n accountStatus,\n serviceAccount,\n grnPermissions,\n authServiceEnabled,\n );\n }\n\n static empty() {\n // @ts-ignore\n return User.create('', '', '', '', Immutable.List(), '', {}, Immutable.Set(), false, false, -1, undefined, false, '', '', 'enabled');\n }\n\n toJSON(): UserJSON {\n const {\n id,\n username,\n fullName,\n firstName,\n lastName,\n email,\n grnPermissions,\n permissions,\n timezone,\n preferences,\n roles,\n readOnly,\n external,\n sessionTimeoutMs,\n startpage,\n sessionActive,\n clientAddress,\n lastActivity,\n accountStatus,\n serviceAccount,\n authServiceEnabled,\n } = this._value;\n\n return {\n id,\n username,\n full_name: fullName,\n first_name: firstName,\n last_name: lastName,\n email,\n grn_permissions: grnPermissions ? grnPermissions.toJS() : [],\n permissions: permissions ? permissions.toArray() : [],\n timezone,\n preferences,\n roles: roles ? roles.toArray() : [],\n read_only: readOnly,\n external,\n session_timeout_ms: sessionTimeoutMs,\n startpage,\n session_active: sessionActive,\n client_address: clientAddress,\n last_activity: lastActivity,\n account_status: accountStatus,\n service_account: serviceAccount,\n auth_service_enabled: authServiceEnabled,\n };\n }\n\n static fromJSON(value: UserJSON) {\n const {\n id,\n username,\n full_name,\n first_name,\n last_name,\n email,\n grn_permissions,\n permissions,\n timezone,\n preferences,\n roles,\n read_only,\n external,\n session_timeout_ms,\n startpage,\n session_active,\n client_address,\n last_activity,\n account_status,\n service_account,\n auth_service_enabled,\n } = value;\n\n return User.create(\n id,\n username,\n full_name,\n first_name,\n last_name,\n email,\n Immutable.List(permissions),\n timezone,\n preferences,\n Immutable.Set(roles),\n read_only,\n external,\n session_timeout_ms,\n startpage,\n session_active,\n client_address,\n last_activity,\n account_status,\n service_account,\n Immutable.List(grn_permissions),\n auth_service_enabled,\n );\n }\n\n static builder(): Builder {\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n return new Builder();\n }\n}\n\ntype BuilderState = Immutable.Map;\n\nclass Builder {\n value: BuilderState;\n\n constructor(value: BuilderState = Immutable.Map()) {\n this.value = value;\n }\n\n id(value: $PropertyType) {\n return new Builder(this.value.set('id', value));\n }\n\n username(value: $PropertyType) {\n return new Builder(this.value.set('username', value));\n }\n\n fullName(value: $PropertyType) {\n return new Builder(this.value.set('fullName', value));\n }\n\n firstName(value: $PropertyType) {\n return new Builder(this.value.set('firstName', value));\n }\n\n lastName(value: $PropertyType) {\n return new Builder(this.value.set('lastName', value));\n }\n\n email(value: $PropertyType) {\n return new Builder(this.value.set('email', value));\n }\n\n grnPermissions(value: $PropertyType) {\n return new Builder(this.value.set('grnPermissions', value));\n }\n\n permissions(value: $PropertyType) {\n return new Builder(this.value.set('permissions', value));\n }\n\n timezone(value: $PropertyType) {\n return new Builder(this.value.set('timezone', value));\n }\n\n preferences(value: $PropertyType) {\n return new Builder(this.value.set('preferences', value));\n }\n\n roles(value: $PropertyType) {\n return new Builder(this.value.set('roles', value));\n }\n\n readOnly(value: $PropertyType) {\n return new Builder(this.value.set('readOnly', value));\n }\n\n external(value: $PropertyType) {\n return new Builder(this.value.set('external', value));\n }\n\n sessionTimeoutMs(value: $PropertyType) {\n return new Builder(this.value.set('sessionTimeoutMs', value));\n }\n\n startpage(value: $PropertyType) {\n return new Builder(this.value.set('startpage', value));\n }\n\n sessionActive(value: $PropertyType) {\n return new Builder(this.value.set('sessionActive', value));\n }\n\n clientAddress(value: $PropertyType) {\n return new Builder(this.value.set('clientAddress', value));\n }\n\n lastActivity(value: $PropertyType) {\n return new Builder(this.value.set('lastActivity', value));\n }\n\n accountStatus(value: $PropertyType) {\n return new Builder(this.value.set('accountStatus', value));\n }\n\n serviceAccount(value: $PropertyType) {\n return new Builder(this.value.set('serviceAccount', value));\n }\n\n authServiceEnabled(value: $PropertyType) {\n return new Builder(this.value.set('authServiceEnabled', value));\n }\n\n build() {\n const {\n id,\n username,\n fullName,\n firstName,\n lastName,\n email,\n permissions,\n timezone,\n preferences,\n roles,\n readOnly,\n external,\n sessionTimeoutMs,\n startpage,\n sessionActive,\n clientAddress,\n lastActivity,\n accountStatus,\n serviceAccount,\n grnPermissions,\n authServiceEnabled,\n } = this.value.toObject();\n\n return new User(\n id,\n username,\n fullName,\n firstName,\n lastName,\n email,\n permissions,\n timezone,\n preferences,\n roles,\n readOnly,\n external,\n sessionTimeoutMs,\n startpage,\n sessionActive,\n clientAddress,\n lastActivity,\n accountStatus,\n serviceAccount,\n grnPermissions,\n authServiceEnabled,\n );\n }\n}\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 loadAsync from 'routing/loadAsync';\n\nconst AuthenticationBackendCreatePage = loadAsync(() => import('./AuthenticationBackendCreatePage'));\nconst AuthenticationBackendDetailsPage = loadAsync(() => import('./AuthenticationBackendDetailsPage'));\nconst AuthenticationBackendEditPage = loadAsync(() => import('./AuthenticationBackendEditPage'));\nconst AuthenticationCreatePage = loadAsync(() => import('./AuthenticationCreatePage'));\nconst AuthenticationOverviewPage = loadAsync(() => import('./AuthenticationOverviewPage'));\nconst AuthenticationPage = loadAsync(() => import('./AuthenticationPage'));\nconst AuthenticatorsPage = loadAsync(() => import('./AuthenticatorsPage'));\nconst AuthenticatorsEditPage = loadAsync(() => import('./AuthenticatorsEditPage'));\nconst ConfigurationsPage = loadAsync(() => import('./ConfigurationsPage'));\nconst ContentPacksPage = loadAsync(() => import('./ContentPacksPage'));\nconst CreateEventDefinitionPage = loadAsync(() => import('./CreateEventDefinitionPage'));\nconst CreateEventNotificationPage = loadAsync(() => import('./CreateEventNotificationPage'));\nconst CreateContentPackPage = loadAsync(() => import('pages/CreateContentPackPage'));\nconst CreateExtractorsPage = loadAsync(() => import('./CreateExtractorsPage'));\nconst DelegatedSearchPage = loadAsync(() => import('./DelegatedSearchPage'));\nconst EditEventDefinitionPage = loadAsync(() => import('./EditEventDefinitionPage'));\nconst EditEventNotificationPage = loadAsync(() => import('./EditEventNotificationPage'));\nconst EditContentPackPage = loadAsync(() => import('pages/EditContentPackPage'));\nconst EditExtractorsPage = loadAsync(() => import('./EditExtractorsPage'));\nconst EnterprisePage = loadAsync(() => import('./EnterprisePage'));\nconst EventDefinitionsPage = loadAsync(() => import('./EventDefinitionsPage'));\nconst EventNotificationsPage = loadAsync(() => import('./EventNotificationsPage'));\nconst EventsPage = loadAsync(() => import('./EventsPage'));\nconst ExportExtractorsPage = loadAsync(() => import('pages/ExportExtractorsPage'));\nconst ExtractorsPage = loadAsync(() => import('./ExtractorsPage'));\nconst WelcomePage = loadAsync(() => import('./WelcomePage'));\nconst GrokPatternsPage = loadAsync(() => import('./GrokPatternsPage'));\nconst ImportExtractorsPage = loadAsync(() => import('./ImportExtractorsPage'));\nconst IndexerFailuresPage = loadAsync(() => import('./IndexerFailuresPage'));\nconst IndexSetConfigurationPage = loadAsync(() => import('./IndexSetConfigurationPage'));\nconst IndexSetCreationPage = loadAsync(() => import('./IndexSetCreationPage'));\nconst IndexSetPage = loadAsync(() => import('./IndexSetPage'));\nconst IndicesPage = loadAsync(() => import('./IndicesPage'));\nconst InputsPage = loadAsync(() => import('./InputsPage'));\nconst LoadingPage = loadAsync(() => import(/* webpackChunkName: \"LoadingPage\" */ 'pages/LoadingPage'));\nconst LoggersPage = loadAsync(() => import('./LoggersPage'));\nconst LoginPage = loadAsync(() => import(/* webpackChunkName: \"LoginPage\" */ 'pages/LoginPage'));\nconst LUTCachesPage = loadAsync(() => import('./LUTCachesPage'));\nconst LUTDataAdaptersPage = loadAsync(() => import('./LUTDataAdaptersPage'));\nconst LUTTablesPage = loadAsync(() => import('./LUTTablesPage'));\nconst NodeInputsPage = loadAsync(() => import('./NodeInputsPage'));\nconst NodesPage = loadAsync(() => import('./NodesPage'));\nconst NotFoundPage = loadAsync(() => import('./NotFoundPage'));\nconst PipelineDetailsPage = loadAsync(() => import('./PipelineDetailsPage'));\nconst PipelinesOverviewPage = loadAsync(() => import('./PipelinesOverviewPage'));\nconst RoleDetailsPage = loadAsync(() => import('./RoleDetailsPage'));\nconst RoleEditPage = loadAsync(() => import('./RoleEditPage'));\nconst RolesOverviewPage = loadAsync(() => import('./RolesOverviewPage'));\nconst RuleDetailsPage = loadAsync(() => import('./RuleDetailsPage'));\nconst RulesPage = loadAsync(() => import('./RulesPage'));\nconst SecurityPage = loadAsync(() => import('./SecurityPage'));\nconst ShowContentPackPage = loadAsync(() => import('pages/ShowContentPackPage'));\nconst ShowEventNotificationPage = loadAsync(() => import('./ShowEventNotificationPage'));\nconst ShowMessagePage = loadAsync(() => import('./ShowMessagePage'));\nconst ShowMetricsPage = loadAsync(() => import('./ShowMetricsPage'));\nconst ShowNodePage = loadAsync(() => import('./ShowNodePage'));\nconst SidecarAdministrationPage = loadAsync(() => import('pages/SidecarAdministrationPage'));\nconst SidecarConfigurationPage = loadAsync(() => import('pages/SidecarConfigurationPage'));\nconst SidecarEditCollectorPage = loadAsync(() => import('pages/SidecarEditCollectorPage'));\nconst SidecarEditConfigurationPage = loadAsync(() => import('pages/SidecarEditConfigurationPage'));\nconst SidecarNewCollectorPage = loadAsync(() => import('pages/SidecarNewCollectorPage'));\nconst SidecarNewConfigurationPage = loadAsync(() => import('pages/SidecarNewConfigurationPage'));\nconst SidecarFailureTrackingPage = loadAsync(() => import('pages/SidecarFailureTrackingPage'));\nconst SidecarsPage = loadAsync(() => import('pages/SidecarsPage'));\nconst SidecarStatusPage = loadAsync(() => import('pages/SidecarStatusPage'));\nconst SimulatorPage = loadAsync(() => import('./SimulatorPage'));\nconst StartPage = loadAsync(() => import('./StartPage'));\nconst StreamEditPage = loadAsync(() => import('./StreamEditPage'));\nconst StreamOutputsPage = loadAsync(() => import('./StreamOutputsPage'));\nconst StreamsPage = loadAsync(() => import('./StreamsPage'));\nconst SystemOutputsPage = loadAsync(() => import('./SystemOutputsPage'));\nconst SystemOverviewPage = loadAsync(() => import('./SystemOverviewPage'));\nconst SystemLogsPage = loadAsync(() => import('./SystemLogsPage'));\nconst ThreadDumpPage = loadAsync(() => import('./ThreadDumpPage'));\nconst ProcessBufferDumpPage = loadAsync(() => import('./ProcessBufferDumpPage'));\nconst UserCreatePage = loadAsync(() => import('./UserCreatePage'));\nconst UserDetailsPage = loadAsync(() => import('./UserDetailsPage'));\nconst UserEditPage = loadAsync(() => import('./UserEditPage'));\nconst UserTokensEditPage = loadAsync(() => import('./UserTokensEditPage'));\nconst UsersOverviewPage = loadAsync(() => import('./UsersOverviewPage'));\nconst ViewEventDefinitionPage = loadAsync(() => import('./ViewEventDefinitionPage'));\n\nexport {\n AuthenticationCreatePage,\n AuthenticationPage,\n AuthenticationBackendCreatePage,\n AuthenticationBackendDetailsPage,\n AuthenticationBackendEditPage,\n AuthenticationOverviewPage,\n AuthenticatorsPage,\n AuthenticatorsEditPage,\n ConfigurationsPage,\n ContentPacksPage,\n CreateEventDefinitionPage,\n CreateEventNotificationPage,\n CreateContentPackPage,\n CreateExtractorsPage,\n DelegatedSearchPage,\n EditEventDefinitionPage,\n EditEventNotificationPage,\n EditContentPackPage,\n EditExtractorsPage,\n EnterprisePage,\n EventDefinitionsPage,\n EventNotificationsPage,\n EventsPage,\n ExportExtractorsPage,\n ExtractorsPage,\n WelcomePage,\n GrokPatternsPage,\n ImportExtractorsPage,\n IndexerFailuresPage,\n IndexSetConfigurationPage,\n IndexSetCreationPage,\n IndexSetPage,\n IndicesPage,\n InputsPage,\n LoadingPage,\n LoggersPage,\n LoginPage,\n LUTCachesPage,\n LUTDataAdaptersPage,\n LUTTablesPage,\n NodeInputsPage,\n NodesPage,\n NotFoundPage,\n PipelineDetailsPage,\n PipelinesOverviewPage,\n ProcessBufferDumpPage,\n RoleDetailsPage,\n RoleEditPage,\n RolesOverviewPage,\n RuleDetailsPage,\n RulesPage,\n SecurityPage,\n ShowContentPackPage,\n ShowEventNotificationPage,\n ShowMessagePage,\n ShowMetricsPage,\n ShowNodePage,\n SidecarAdministrationPage,\n SidecarConfigurationPage,\n SidecarEditCollectorPage,\n SidecarEditConfigurationPage,\n SidecarNewCollectorPage,\n SidecarNewConfigurationPage,\n SidecarFailureTrackingPage,\n SidecarsPage,\n SidecarStatusPage,\n SimulatorPage,\n StartPage,\n StreamEditPage,\n StreamOutputsPage,\n StreamsPage,\n SystemOutputsPage,\n SystemOverviewPage,\n SystemLogsPage,\n ThreadDumpPage,\n UsersOverviewPage,\n UserCreatePage,\n UserDetailsPage,\n UserEditPage,\n UserTokensEditPage,\n ViewEventDefinitionPage,\n};\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 React from 'react';\nimport PropTypes from 'prop-types';\n\nimport RuntimeErrorPage from 'pages/RuntimeErrorPage';\n\nclass RouterErrorBoundary extends React.Component {\n static propTypes = {\n children: PropTypes.node,\n };\n\n static defaultProps = {\n children: null,\n };\n\n constructor(props) {\n super(props);\n this.state = {};\n }\n\n componentDidCatch(error, info) {\n this.setState({ error, info });\n }\n\n render() {\n const { error, info } = this.state;\n const { children } = this.props;\n\n if (error) {\n return ;\n }\n\n return children;\n }\n}\n\nexport default RouterErrorBoundary;\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 { ErrorBoundary } from 'react-error-boundary';\n\nimport usePluginEntities from 'hooks/usePluginEntities';\n\ntype Props = {\n children: React.ReactElement,\n};\n\nconst GlobalContextProviders = ({ children }: Props) => {\n const contextProviders = usePluginEntities('globalContextProviders');\n\n if (!contextProviders || contextProviders?.length === 0) {\n return children;\n }\n\n return contextProviders.reduce((nestedChildren, GlobalContextProvider) => (\n nestedChildren}>\n \n {nestedChildren}\n \n \n ), children);\n};\n\nexport default GlobalContextProviders;\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 React from 'react';\nimport { createBrowserRouter, RouterProvider } from 'react-router-dom';\nimport type { PluginRoute } from 'graylog-web-plugin';\n\nimport App from 'routing/App';\nimport PageContentLayout from 'components/layout/PageContentLayout';\nimport AppConfig from 'util/AppConfig';\nimport RoutePaths from 'routing/Routes';\nimport { appPrefixed } from 'util/URLUtils';\nimport {\n AuthenticationCreatePage,\n AuthenticationBackendCreatePage,\n AuthenticationBackendDetailsPage,\n AuthenticationBackendEditPage,\n AuthenticationOverviewPage,\n AuthenticationPage,\n AuthenticatorsPage,\n AuthenticatorsEditPage,\n ConfigurationsPage,\n ContentPacksPage,\n CreateContentPackPage,\n CreateEventDefinitionPage,\n CreateEventNotificationPage,\n CreateExtractorsPage,\n DelegatedSearchPage,\n EditEventDefinitionPage,\n EditEventNotificationPage,\n EditContentPackPage,\n EditExtractorsPage,\n EnterprisePage,\n EventDefinitionsPage,\n EventNotificationsPage,\n EventsPage,\n ExportExtractorsPage,\n ExtractorsPage,\n WelcomePage,\n GrokPatternsPage,\n ImportExtractorsPage,\n IndexerFailuresPage,\n IndexSetConfigurationPage,\n IndexSetCreationPage,\n IndexSetPage,\n IndicesPage,\n InputsPage,\n LoggersPage,\n LUTCachesPage,\n LUTDataAdaptersPage,\n LUTTablesPage,\n NodeInputsPage,\n NodesPage,\n NotFoundPage,\n PipelineDetailsPage,\n PipelinesOverviewPage,\n ProcessBufferDumpPage,\n RoleDetailsPage,\n RoleEditPage,\n RolesOverviewPage,\n RuleDetailsPage,\n RulesPage,\n SecurityPage,\n ShowContentPackPage,\n ShowEventNotificationPage,\n ShowMessagePage,\n ShowMetricsPage,\n ShowNodePage,\n SidecarAdministrationPage,\n SidecarConfigurationPage,\n SidecarEditCollectorPage,\n SidecarEditConfigurationPage,\n SidecarNewCollectorPage,\n SidecarNewConfigurationPage,\n SidecarsPage,\n SidecarStatusPage,\n SimulatorPage,\n StartPage,\n StreamEditPage,\n StreamOutputsPage,\n StreamsPage,\n SystemOutputsPage,\n SystemOverviewPage,\n ThreadDumpPage,\n SystemLogsPage,\n UserDetailsPage,\n UserCreatePage,\n UserEditPage,\n UserTokensEditPage,\n UsersOverviewPage,\n ViewEventDefinitionPage,\n SidecarFailureTrackingPage,\n} from 'pages';\nimport RouterErrorBoundary from 'components/errors/RouterErrorBoundary';\nimport usePluginEntities from 'hooks/usePluginEntities';\nimport GlobalContextProviders from 'contexts/GlobalContextProviders';\n\nconst renderPluginRoute = ({ path, component: Component, parentComponent, requiredFeatureFlag }: PluginRoute) => {\n if (requiredFeatureFlag && !AppConfig.isFeatureEnabled(requiredFeatureFlag)) {\n return null;\n }\n\n const ParentComponent = parentComponent ?? React.Fragment;\n const WrappedComponent = () => (\n \n \n \n );\n\n return {\n path: appPrefixed(path),\n element: ,\n };\n};\n\nconst routeHasAppParent = (route: PluginRoute) => route.parentComponent === App;\n\nconst AppRouter = () => {\n const pluginRoutes = usePluginEntities('routes');\n const pluginRoutesWithNullParent = pluginRoutes.filter((route) => (route.parentComponent === null)).map((route) => renderPluginRoute({ ...route, parentComponent: GlobalContextProviders }));\n const pluginRoutesWithAppParent = pluginRoutes.filter((route) => routeHasAppParent(route)).map((route) => renderPluginRoute({ ...route, parentComponent: null }));\n const pluginRoutesWithParent = pluginRoutes.filter((route) => (route.parentComponent && !routeHasAppParent(route))).map(renderPluginRoute);\n const standardPluginRoutes = pluginRoutes.filter((route) => (route.parentComponent === undefined)).map(renderPluginRoute);\n\n const isCloud = AppConfig.isCloud();\n\n let enableInputsRoute = true;\n\n if (AppConfig.isCloud()) {\n enableInputsRoute = AppConfig.isFeatureEnabled('cloud_inputs');\n }\n\n const router = createBrowserRouter([\n ...pluginRoutesWithNullParent,\n\n {\n path: RoutePaths.STARTPAGE,\n element: ,\n children: [\n { path: RoutePaths.STARTPAGE, element: },\n { path: RoutePaths.SEARCH, element: },\n ...pluginRoutesWithParent,\n ...pluginRoutesWithAppParent,\n {\n path: `${AppConfig.gl2AppPathPrefix()}/`,\n element: ,\n children: [\n { path: RoutePaths.message_show(':index', ':messageId'), element: },\n { path: RoutePaths.WELCOME, element: },\n { path: RoutePaths.STREAMS, element: },\n { path: RoutePaths.stream_edit(':streamId'), element: },\n !isCloud && { path: RoutePaths.stream_outputs(':streamId'), element: },\n\n { path: RoutePaths.ALERTS.LIST, element: },\n { path: RoutePaths.ALERTS.DEFINITIONS.LIST, element: },\n { path: RoutePaths.ALERTS.DEFINITIONS.CREATE, element: },\n {\n path: RoutePaths.ALERTS.DEFINITIONS.edit(':definitionId'),\n element: ,\n },\n {\n path: RoutePaths.ALERTS.DEFINITIONS.show(':definitionId'),\n element: ,\n },\n { path: RoutePaths.ALERTS.NOTIFICATIONS.LIST, element: },\n { path: RoutePaths.ALERTS.NOTIFICATIONS.CREATE, element: },\n {\n path: RoutePaths.ALERTS.NOTIFICATIONS.edit(':notificationId'),\n element: ,\n },\n {\n path: RoutePaths.ALERTS.NOTIFICATIONS.show(':notificationId'),\n element: ,\n },\n\n enableInputsRoute && { path: RoutePaths.SYSTEM.INPUTS, element: },\n !isCloud && { path: RoutePaths.node_inputs(':nodeId'), element: },\n !isCloud && { path: RoutePaths.global_input_extractors(':inputId'), element: },\n !isCloud && { path: RoutePaths.local_input_extractors(':nodeId', ':inputId'), element: },\n !isCloud && { path: RoutePaths.new_extractor(':nodeId', ':inputId'), element: },\n !isCloud && { path: RoutePaths.edit_extractor(':nodeId', ':inputId', ':extractorId'), element: },\n !isCloud && { path: RoutePaths.import_extractors(':nodeId', ':inputId'), element: },\n !isCloud && { path: RoutePaths.export_extractors(':nodeId', ':inputId'), element: },\n\n { path: `${RoutePaths.SYSTEM.CONFIGURATIONS}/*`, element: },\n\n { path: RoutePaths.SYSTEM.CONTENTPACKS.LIST, element: },\n { path: RoutePaths.SYSTEM.CONTENTPACKS.CREATE, element: },\n {\n path: RoutePaths.SYSTEM.CONTENTPACKS.edit(':contentPackId', ':contentPackRev'),\n element: ,\n },\n { path: RoutePaths.SYSTEM.CONTENTPACKS.show(':contentPackId'), element: },\n\n { path: RoutePaths.SYSTEM.GROKPATTERNS, element: },\n\n { path: RoutePaths.SYSTEM.INDEX_SETS.CREATE, element: },\n { path: RoutePaths.SYSTEM.INDEX_SETS.SHOW(':indexSetId'), element: },\n { path: RoutePaths.SYSTEM.INDEX_SETS.CONFIGURATION(':indexSetId'), element: },\n\n { path: RoutePaths.SYSTEM.INDICES.LIST, element: },\n !isCloud && (\n { path: RoutePaths.SYSTEM.INDICES.FAILURES, element: }\n ),\n\n { path: RoutePaths.SYSTEM.LOOKUPTABLES.OVERVIEW, element: },\n { path: RoutePaths.SYSTEM.LOOKUPTABLES.CREATE, element: },\n { path: RoutePaths.SYSTEM.LOOKUPTABLES.show(':tableName'), element: },\n { path: RoutePaths.SYSTEM.LOOKUPTABLES.edit(':tableName'), element: },\n\n { path: RoutePaths.SYSTEM.LOOKUPTABLES.CACHES.OVERVIEW, element: },\n { path: RoutePaths.SYSTEM.LOOKUPTABLES.CACHES.CREATE, element: },\n { path: RoutePaths.SYSTEM.LOOKUPTABLES.CACHES.show(':cacheName'), element: },\n { path: RoutePaths.SYSTEM.LOOKUPTABLES.CACHES.edit(':cacheName'), element: },\n\n { path: RoutePaths.SYSTEM.LOOKUPTABLES.DATA_ADAPTERS.OVERVIEW, element: },\n { path: RoutePaths.SYSTEM.LOOKUPTABLES.DATA_ADAPTERS.CREATE, element: },\n { path: RoutePaths.SYSTEM.LOOKUPTABLES.DATA_ADAPTERS.show(':adapterName'), element: },\n { path: RoutePaths.SYSTEM.LOOKUPTABLES.DATA_ADAPTERS.edit(':adapterName'), element: },\n\n { path: RoutePaths.SYSTEM.PIPELINES.OVERVIEW, element: },\n { path: RoutePaths.SYSTEM.PIPELINES.RULES, element: },\n { path: RoutePaths.SYSTEM.PIPELINES.RULE(':ruleId'), element: },\n { path: RoutePaths.SYSTEM.PIPELINES.SIMULATOR, element: },\n { path: RoutePaths.SYSTEM.PIPELINES.PIPELINE(':pipelineId'), element: },\n\n !isCloud && { path: RoutePaths.SYSTEM.LOGGING, element: },\n { path: RoutePaths.SYSTEM.METRICS(':nodeId'), element: },\n !isCloud && { path: RoutePaths.SYSTEM.NODES.LIST, element: },\n !isCloud && { path: RoutePaths.SYSTEM.NODES.SHOW(':nodeId'), element: },\n\n !isCloud && { path: RoutePaths.SYSTEM.OUTPUTS, element: },\n\n !isCloud && (\n { path: RoutePaths.SYSTEM.AUTHENTICATION.BACKENDS.ACTIVE, element: }\n ),\n !isCloud && (\n { path: RoutePaths.SYSTEM.AUTHENTICATION.BACKENDS.CREATE, element: }\n ),\n !isCloud && (\n { path: RoutePaths.SYSTEM.AUTHENTICATION.BACKENDS.OVERVIEW, element: }\n ),\n !isCloud && (\n { path: RoutePaths.SYSTEM.AUTHENTICATION.BACKENDS.show(':backendId'), element: }\n ),\n !isCloud && (\n { path: RoutePaths.SYSTEM.AUTHENTICATION.BACKENDS.edit(':backendId'), element: }\n ),\n !isCloud && (\n { path: RoutePaths.SYSTEM.AUTHENTICATION.BACKENDS.createBackend(':name'), element: }\n ),\n\n !isCloud && (\n { path: RoutePaths.SYSTEM.AUTHENTICATION.AUTHENTICATORS.SHOW, element: }\n ),\n !isCloud && (\n { path: RoutePaths.SYSTEM.AUTHENTICATION.AUTHENTICATORS.EDIT, element: }\n ),\n\n { path: RoutePaths.SYSTEM.USERS.OVERVIEW, element: },\n { path: RoutePaths.SYSTEM.USERS.CREATE, element: },\n { path: RoutePaths.SYSTEM.USERS.show(':userId'), element: },\n { path: RoutePaths.SYSTEM.USERS.edit(':userId'), element: },\n { path: RoutePaths.SYSTEM.USERS.TOKENS.edit(':userId'), element: },\n\n { path: RoutePaths.SYSTEM.AUTHZROLES.OVERVIEW, element: },\n { path: RoutePaths.SYSTEM.AUTHZROLES.show(':roleId'), element: },\n { path: RoutePaths.SYSTEM.AUTHZROLES.edit(':roleId'), element: },\n\n { path: RoutePaths.SYSTEM.OVERVIEW, element: },\n { path: RoutePaths.SYSTEM.PROCESSBUFFERDUMP(':nodeId'), element: },\n { path: RoutePaths.SYSTEM.THREADDUMP(':nodeId'), element: },\n { path: RoutePaths.SYSTEM.SYSTEMLOGS(':nodeId'), element: },\n { path: RoutePaths.SYSTEM.ENTERPRISE, element: },\n { path: RoutePaths.SECURITY, element: },\n\n { path: RoutePaths.SYSTEM.SIDECARS.OVERVIEW, element: },\n { path: RoutePaths.SYSTEM.SIDECARS.STATUS(':sidecarId'), element: },\n { path: RoutePaths.SYSTEM.SIDECARS.ADMINISTRATION, element: },\n { path: RoutePaths.SYSTEM.SIDECARS.CONFIGURATION, element: },\n { path: RoutePaths.SYSTEM.SIDECARS.FAILURE_TRACKING, element: },\n { path: RoutePaths.SYSTEM.SIDECARS.NEW_CONFIGURATION, element: },\n { path: RoutePaths.SYSTEM.SIDECARS.EDIT_CONFIGURATION(':configurationId'), element: },\n { path: RoutePaths.SYSTEM.SIDECARS.NEW_COLLECTOR, element: },\n { path: RoutePaths.SYSTEM.SIDECARS.EDIT_COLLECTOR(':collectorId'), element: },\n ...standardPluginRoutes,\n { path: '*', element: },\n ].filter((route) => !!route),\n },\n { path: RoutePaths.NOTFOUND, element: },\n ],\n },\n ]);\n\n return (\n \n \n \n );\n};\n\nexport default AppRouter;\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 PropTypes from 'prop-types';\n\nimport useCurrentUser from 'hooks/useCurrentUser';\n\nimport UserPreferencesContext from './UserPreferencesContext';\n\nconst CurrentUserPreferencesProvider = ({ children }: { children: React.ReactElement }) => {\n const currentUser = useCurrentUser();\n const preferences = currentUser?.preferences;\n\n return preferences\n ? (\n \n {children}\n \n )\n : children;\n};\n\nCurrentUserPreferencesProvider.propTypes = {\n children: PropTypes.node.isRequired,\n};\n\nexport default CurrentUserPreferencesProvider;\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 PropTypes from 'prop-types';\nimport get from 'lodash/get';\n\nimport { useStore } from 'stores/connect';\nimport User from 'logic/users/User';\nimport { CurrentUserStore } from 'stores/users/CurrentUserStore';\n\nimport CurrentUserContext from './CurrentUserContext';\n\nconst CurrentUserProvider = ({ children }) => {\n const currentUserJSON = useStore(CurrentUserStore, (state) => get(state, 'currentUser'));\n const currentUser = currentUserJSON ? User.fromJSON(currentUserJSON) : undefined;\n\n return currentUser\n ? (\n \n {children}\n \n )\n : children;\n};\n\nCurrentUserProvider.propTypes = {\n children: PropTypes.node.isRequired,\n};\n\nexport default CurrentUserProvider;\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 { useCallback, useMemo } from 'react';\n\nimport UserDateTimeContext from 'contexts/UserDateTimeContext';\nimport AppConfig from 'util/AppConfig';\nimport useCurrentUser from 'hooks/useCurrentUser';\nimport type { DateTime, DateTimeFormats } from 'util/DateTime';\nimport { DATE_TIME_FORMATS, getBrowserTimezone, toDateObject } from 'util/DateTime';\n\ntype Props = {\n children: React.ReactNode,\n tz?: string,\n};\n\nconst getUserTimezone = (userTimezone: string, tzOverride?: string) => {\n if (tzOverride) {\n return tzOverride;\n }\n\n return userTimezone ?? getBrowserTimezone() ?? AppConfig.rootTimeZone() ?? 'UTC';\n};\n\n/**\n * Provides methods to convert times based on the user time zone.\n * Should be used when displaying times and the related components are not a suitable option.\n *\n * userTimezone - time zone of the current user.\n * formatTime - method which takes a date and optionally a format and returns it as a string in the current user timezone.\n * For example, it transforms `2010-07-30T16:03:25.000Z` to `2010-07-30 17:03:25` for a user with the timezone `Europe/Berlin`.\n * toUserTimezone - method which takes a date and transforms it a moment date object, based on the user timezone.\n */\n\nconst StaticTimezoneProvider = ({ children, tz }: Required) => {\n const toUserTimezone = useCallback((time: DateTime) => toDateObject(time, undefined, tz), [tz]);\n\n const formatTime = useCallback((time: DateTime, format: DateTimeFormats = 'default') => toUserTimezone(time).format(DATE_TIME_FORMATS[format]), [toUserTimezone]);\n\n const contextValue = useMemo(\n () => ({ toUserTimezone, formatTime, userTimezone: tz }),\n [toUserTimezone, formatTime, tz],\n );\n\n return (\n \n {children}\n \n );\n};\n\nconst CurrentUserDateTimeProvider = ({ children }: Omit) => {\n const currentUser = useCurrentUser();\n const userTimezone = useMemo(() => getUserTimezone(currentUser?.timezone), [currentUser?.timezone]);\n\n return (\n \n {children}\n \n );\n};\n\nconst UserDateTimeProvider = ({ children, tz: tzOverride }: Props) => (tzOverride\n ? (\n \n {children}\n \n )\n : (\n \n {children}\n \n )\n);\n\nUserDateTimeProvider.defaultProps = {\n tz: undefined,\n};\n\nexport default UserDateTimeProvider;\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 React from 'react';\nimport PropTypes from 'prop-types';\n\nimport GraylogThemeProvider from 'theme/GraylogThemeProvider';\nimport GlobalThemeStyles from 'theme/GlobalThemeStyles';\n\nimport CurrentUserPreferencesProvider from './CurrentUserPreferencesProvider';\nimport CurrentUserProvider from './CurrentUserProvider';\nimport UserDateTimeProvider from './UserDateTimeProvider';\n\nconst ThemeAndUserProvider = ({ children }) => (\n \n \n \n \n \n {children}\n \n \n \n \n);\n\nThemeAndUserProvider.propTypes = {\n children: PropTypes.any.isRequired,\n};\n\nexport default ThemeAndUserProvider;\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 } from 'react';\n\nimport connect from 'stores/connect';\nimport type { Stream } from 'views/stores/StreamsStore';\nimport { StreamsActions, StreamsStore } from 'views/stores/StreamsStore';\n\nimport StreamsContext from './StreamsContext';\n\ntype Props = {\n children: React.ReactElement,\n streams: Array | undefined | null,\n};\n\nconst StreamsProvider = ({ children, streams }: Props) => {\n useEffect(() => {\n StreamsActions.refresh();\n }, []);\n\n return (\n \n {children}\n \n );\n};\n\nexport default connect(StreamsProvider, { streams: StreamsStore }, ({ streams: { streams } = { streams: undefined } }) => ({ streams }));\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 { useMemo } from 'react';\nimport type { QueryClientConfig } from '@tanstack/react-query';\nimport { QueryClient, QueryClientProvider } from '@tanstack/react-query';\nimport merge from 'lodash/merge';\n\ntype Props = {\n children: React.ReactNode,\n options?: QueryClientConfig\n};\n\nconst defaultOptions = {\n defaultOptions: {\n queries: {\n refetchOnWindowFocus: false,\n networkMode: 'always' as const,\n },\n },\n};\n\nconst DefaultQueryClientProvider = ({ children, options: optionsProp }: Props) => {\n const options = optionsProp ? merge({}, defaultOptions, optionsProp) : defaultOptions;\n const queryClient = useMemo(() => new QueryClient(options), [options]);\n\n return (\n \n {children}\n \n );\n};\n\nDefaultQueryClientProvider.defaultProps = {\n options: undefined,\n};\n\nexport default DefaultQueryClientProvider;\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 React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { ConfirmDialog } from 'components/common';\nimport TelemetryInfoText from 'logic/telemetry/TelemetryInfoText';\n\ntype Props = {\n show: boolean,\n onConfirm: () => void,\n}\n\nconst TelemetryInfoModal = ({ show, onConfirm }: Props) => (\n \n \n \n);\n\nTelemetryInfoModal.propTypes = {\n show: PropTypes.bool.isRequired,\n onConfirm: PropTypes.func.isRequired,\n};\n\nexport default TelemetryInfoModal;\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 { useQuery } from '@tanstack/react-query';\n\nimport { Telemetry } from '@graylog/server-api';\n\nconst TELEMETRY_CLUSTER_INFO_QUERY_KEY = 'telemetry.cluster.info';\n\nexport type TelemetryDataType = {\n current_user?: {\n [key: string]: string,\n },\n user_telemetry_settings?: {\n [key: string]: boolean,\n },\n cluster?: {\n [key: string]: string,\n },\n license?: {\n [key: string]: string,\n },\n plugin?: {\n [key: string]: string,\n },\n search_cluster?: {\n [key: string]: string,\n },\n data_nodes?: {\n data_nodes_count: number,\n }\n}\n\nconst useTelemetryData = () => useQuery([TELEMETRY_CLUSTER_INFO_QUERY_KEY], () => Telemetry.get() as Promise, {\n retry: 0,\n keepPreviousData: true,\n notifyOnChangeProps: ['data', 'error'],\n});\n\nexport default useTelemetryData;\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 React, { useMemo, useEffect, useState, useCallback } from 'react';\nimport { usePostHog } from 'posthog-js/react';\nimport { useTheme } from 'styled-components';\n\nimport { getPathnameWithoutId } from 'util/URLUtils';\nimport type { TelemetryEventType, TelemetryEvent } from 'logic/telemetry/TelemetryContext';\nimport TelemetryContext from 'logic/telemetry/TelemetryContext';\nimport { TelemetrySettingsActions } from 'stores/telemetry/TelemetrySettingsStore';\nimport TelemetryInfoModal from 'logic/telemetry/TelemetryInfoModal';\nimport type { TelemetryDataType } from 'logic/telemetry/useTelemetryData';\nimport useTelemetryData from 'logic/telemetry/useTelemetryData';\n\nconst getGlobalProps = (telemetryData: TelemetryDataType) => {\n const {\n cluster: {\n cluster_id,\n cluster_creation_date,\n nodes_count,\n traffic_last_month,\n users_count,\n license_count,\n node_leader_app_version,\n installation_source,\n },\n license,\n current_user,\n } = telemetryData;\n\n return {\n cluster_id,\n cluster_creation_date,\n installation_source,\n nodes_count,\n traffic_last_month,\n users_count,\n license_count,\n node_leader_app_version,\n ...license,\n ...current_user,\n };\n};\n\nconst TelemetryProvider = ({ children }: { children: React.ReactElement }) => {\n const posthog = usePostHog();\n const theme = useTheme();\n\n const isPosthogLoaded = useCallback(() => (posthog?.__loaded === true), [posthog]);\n\n const { data: telemetryData, isSuccess: isTelemetryDataLoaded, refetch: refetchTelemetryData } = useTelemetryData();\n const [showTelemetryInfo, setShowTelemetryInfo] = useState(false);\n const [globalProps, setGlobalProps] = useState(undefined);\n\n useEffect(() => {\n const app_pathname = getPathnameWithoutId(window.location.pathname);\n\n const setGroup = () => {\n if (isTelemetryDataLoaded\n && telemetryData\n && telemetryData.user_telemetry_settings?.telemetry_enabled) {\n const {\n cluster: { cluster_id: clusterId, ...clusterDetails },\n current_user: { user },\n license,\n plugin,\n search_cluster: searchCluster,\n data_nodes: dataNodes,\n user_telemetry_settings: { telemetry_permission_asked: isPermissionAsked },\n } = telemetryData as TelemetryDataType;\n setGlobalProps(getGlobalProps(telemetryData));\n\n posthog.group('cluster', clusterId, {\n app_pathname,\n app_theme: theme.mode,\n ...clusterDetails,\n ...license,\n ...plugin,\n ...searchCluster,\n ...dataNodes,\n ...getGlobalProps(telemetryData),\n });\n\n posthog.identify(user, { ...getGlobalProps(telemetryData) });\n setShowTelemetryInfo(!isPermissionAsked);\n }\n };\n\n if (isPosthogLoaded()) {\n setGroup();\n }\n }, [posthog, isTelemetryDataLoaded, telemetryData, theme.mode, isPosthogLoaded]);\n\n const TelemetryContextValue = useMemo(() => {\n const sendTelemetry = (eventType: TelemetryEventType, event: TelemetryEvent) => {\n if (isPosthogLoaded() && globalProps) {\n try {\n posthog.capture(eventType, {\n ...event,\n ...globalProps,\n app_theme: theme.mode,\n });\n } catch {\n // eslint-disable-next-line no-console\n console.warn('Could not capture telemetry event.');\n }\n }\n };\n\n return ({\n sendTelemetry,\n });\n }, [globalProps, isPosthogLoaded, posthog, theme.mode]);\n\n const handleConfirmTelemetryDialog = () => {\n TelemetrySettingsActions.update({ telemetry_permission_asked: true, telemetry_enabled: true }).then(() => {\n refetchTelemetryData();\n });\n\n setShowTelemetryInfo(false);\n };\n\n return (\n \n {children}\n {showTelemetryInfo\n && handleConfirmTelemetryDialog()} />}\n \n );\n};\n\nexport default TelemetryProvider;\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 isEqual from 'lodash/isEqual';\n\nimport NodesContext from 'contexts/NodesContext';\nimport { useStore } from 'stores/connect';\nimport { NodesStore } from 'stores/nodes/NodesStore';\n\nconst MemoNodesProvider = React.memo(({ children, value }: React.PropsWithChildren<{ value: React.ComponentProps['value'] }>) => (\n \n {children}\n \n), isEqual);\n\nconst NodesProvider = ({ children }: React.PropsWithChildren<{}>) => {\n const value = useStore(NodesStore, ({ nodes }) => Object.fromEntries(\n Object.entries(nodes ?? {}).map(([id, { short_node_id, hostname }]) => [id, { id, short_node_id, hostname }]),\n ));\n\n return (\n \n {children}\n \n );\n};\n\nexport default NodesProvider;\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 } from 'react';\n\nimport type { ExtractStoreState } from 'stores/connect';\nimport { useStore } from 'stores/connect';\nimport InputsContext from 'contexts/InputsContext';\nimport { InputsStore, InputsActions } from 'stores/inputs/InputsStore';\n\nconst mapInputs = (state: ExtractStoreState) => Object.fromEntries(state?.inputs?.map((input) => [input.id, input]) ?? []);\n\nconst useInputs = () => {\n useEffect(() => { InputsActions.list(); }, []);\n\n return useStore(InputsStore, mapInputs);\n};\n\nconst InputsProvider = ({ children }: React.PropsWithChildren<{}>) => {\n const value = useInputs();\n\n return (\n \n {children}\n \n );\n};\n\nexport default InputsProvider;\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 React from 'react';\n\nimport AppRouter from 'routing/AppRouter';\nimport ThemeAndUserProvider from 'contexts/ThemeAndUserProvider';\nimport StreamsProvider from 'contexts/StreamsProvider';\nimport DefaultQueryClientProvider from 'contexts/DefaultQueryClientProvider';\nimport TelemetryProvider from 'logic/telemetry/TelemetryProvider';\nimport NodesProvider from 'contexts/NodesProvider';\nimport InputsProvider from 'contexts/InputsProvider';\n\nconst LoggedInPage = () => (\n \n \n \n \n \n \n \n \n \n \n \n \n \n);\n\nexport default LoggedInPage;\n"],"names":["TelemetryInfoText","showProfile","User","id","username","fullName","firstName","lastName","email","permissions","timezone","preferences","roles","readOnly","external","sessionTimeoutMs","startpage","sessionActive","clientAddress","lastActivity","accountStatus","serviceAccount","grnPermissions","authServiceEnabled","MS_DAY","MS_HOUR","MS_MINUTE","MS_SECOND","unit","value","Builder","full_name","first_name","last_name","grn_permissions","read_only","session_timeout_ms","session_active","client_address","last_activity","account_status","service_account","auth_service_enabled","AuthenticationBackendCreatePage","loadAsync","AuthenticationBackendDetailsPage","AuthenticationBackendEditPage","AuthenticationCreatePage","AuthenticationOverviewPage","AuthenticationPage","AuthenticatorsPage","AuthenticatorsEditPage","ConfigurationsPage","ContentPacksPage","CreateEventDefinitionPage","CreateEventNotificationPage","CreateContentPackPage","CreateExtractorsPage","DelegatedSearchPage","EditEventDefinitionPage","EditEventNotificationPage","EditContentPackPage","EditExtractorsPage","EnterprisePage","EventDefinitionsPage","EventNotificationsPage","EventsPage","ExportExtractorsPage","ExtractorsPage","WelcomePage","GrokPatternsPage","ImportExtractorsPage","IndexerFailuresPage","IndexSetConfigurationPage","IndexSetCreationPage","IndexSetPage","IndicesPage","InputsPage","LoadingPage","LoggersPage","LoginPage","LUTCachesPage","LUTDataAdaptersPage","LUTTablesPage","NodeInputsPage","NodesPage","NotFoundPage","PipelineDetailsPage","PipelinesOverviewPage","RoleDetailsPage","RoleEditPage","RolesOverviewPage","RuleDetailsPage","RulesPage","SecurityPage","ShowContentPackPage","ShowEventNotificationPage","ShowMessagePage","ShowMetricsPage","ShowNodePage","SidecarAdministrationPage","SidecarConfigurationPage","SidecarEditCollectorPage","SidecarEditConfigurationPage","SidecarNewCollectorPage","SidecarNewConfigurationPage","SidecarFailureTrackingPage","SidecarsPage","SidecarStatusPage","SimulatorPage","StartPage","StreamEditPage","StreamOutputsPage","StreamsPage","SystemOutputsPage","SystemOverviewPage","SystemLogsPage","ThreadDumpPage","ProcessBufferDumpPage","UserCreatePage","UserDetailsPage","UserEditPage","UserTokensEditPage","UsersOverviewPage","ViewEventDefinitionPage","RouterErrorBoundary","props","error","info","children","RuntimeErrorPage","contextProviders","usePluginEntities","nestedChildren","GlobalContextProvider","renderPluginRoute","path","Component","parentComponent","requiredFeatureFlag","AppConfig","ParentComponent","WrappedComponent","routeHasAppParent","route","App","pluginRoutes","pluginRoutesWithNullParent","pluginRoutesWithAppParent","pluginRoutesWithParent","standardPluginRoutes","isCloud","enableInputsRoute","router","PageContentLayout","CurrentUserPreferencesProvider","currentUser","useCurrentUser","UserPreferencesContext","CurrentUserProvider","currentUserJSON","CurrentUserStore","state","CurrentUserContext","getUserTimezone","userTimezone","tzOverride","StaticTimezoneProvider","tz","toUserTimezone","time","formatTime","format","contextValue","UserDateTimeContext","CurrentUserDateTimeProvider","UserDateTimeProvider","ThemeAndUserProvider","GraylogThemeProvider","GlobalThemeStyles","StreamsProvider","streams","StreamsContext","connect","StreamsStore","defaultOptions","DefaultQueryClientProvider","optionsProp","options","queryClient","TelemetryInfoModal","show","onConfirm","TELEMETRY_CLUSTER_INFO_QUERY_KEY","getGlobalProps","telemetryData","cluster_id","cluster_creation_date","nodes_count","traffic_last_month","users_count","license_count","node_leader_app_version","installation_source","license","current_user","posthog","theme","isPosthogLoaded","isTelemetryDataLoaded","refetchTelemetryData","showTelemetryInfo","setShowTelemetryInfo","globalProps","setGlobalProps","app_pathname","setGroup","clusterId","clusterDetails","user","plugin","searchCluster","dataNodes","isPermissionAsked","TelemetryContextValue","eventType","event","handleConfirmTelemetryDialog","TelemetryContext","MemoNodesProvider","NodesContext","NodesStore","nodes","short_node_id","hostname","mapInputs","input","useInputs","InputsStore","InputsContext"],"sourceRoot":""}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy