web-interface.assets.bb8c8232-212.d77c34586a317c59e34d.js.map Maven / Gradle / Ivy
{"version":3,"file":"bb8c8232-212.d77c34586a317c59e34d.js","mappings":"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","sources":["webpack://graylog-web-interface/./src/components/common/PageNavigation.tsx","webpack://graylog-web-interface/./src/components/sidecars/common/CollectorIndicator.jsx","webpack://graylog-web-interface/./src/components/sidecars/common/OperatingSystemIcon.tsx","webpack://graylog-web-interface/./src/components/sidecars/common/SidecarsPageNavigation.tsx","webpack://graylog-web-interface/./src/stores/sidecars/CollectorConfigurationsStore.js","webpack://graylog-web-interface/./src/stores/sidecars/CollectorsStore.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, { 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 React from 'react';\nimport createReactClass from 'create-react-class';\nimport PropTypes from 'prop-types';\nimport upperFirst from 'lodash/upperFirst';\n\nimport OperatingSystemIcon from './OperatingSystemIcon';\n\nconst CollectorIndicator = createReactClass({\n propTypes: {\n collector: PropTypes.string.isRequired,\n operatingSystem: PropTypes.string,\n },\n\n getDefaultProps() {\n return {\n operatingSystem: undefined,\n };\n },\n\n render() {\n const { collector, operatingSystem } = this.props;\n\n return (\n \n {collector}\n {operatingSystem && on {upperFirst(operatingSystem)}}\n \n );\n },\n});\n\nexport default CollectorIndicator;\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 styled from 'styled-components';\n\nimport { Icon } from 'components/common';\nimport BrandIcon from 'components/common/BrandIcon';\n\nconst Container = styled.div`\n display: inline-block;\n vertical-align: middle;\n margin-right: 5px;\n margin-left: 2px;\n`;\n\ntype Props = {\n operatingSystem: string,\n};\n\nconst matchIcon = (os: string) => {\n if (os.includes('darwin') || os.includes('mac os')) {\n return {\n iconName: 'apple',\n iconType: 'brand',\n } as const;\n }\n\n if (os.includes('linux')) {\n return {\n iconName: 'linux',\n iconType: 'brand',\n } as const;\n }\n\n if (os.includes('win')) {\n return {\n iconName: 'windows',\n iconType: 'brand',\n } as const;\n }\n\n if (os.includes('freebsd')) {\n return {\n iconName: 'freebsd',\n iconType: 'brand',\n } as const;\n }\n\n return {\n iconName: 'help',\n iconType: 'default',\n } as const;\n};\n\nconst OperatingSystemIcon = ({ operatingSystem }: Props) => {\n const { iconName, iconType } = matchIcon(operatingSystem.trim().toLowerCase());\n\n return (\n \n {iconType === 'brand'\n ? \n : }\n \n );\n};\n\nOperatingSystemIcon.propTypes = {\n operatingSystem: PropTypes.string,\n};\n\nOperatingSystemIcon.defaultProps = {\n operatingSystem: undefined,\n};\n\nexport default OperatingSystemIcon;\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 PageNavigation from 'components/common/PageNavigation';\nimport Routes from 'routing/Routes';\nimport { Row } from 'components/bootstrap';\n\nconst NAV_ITEMS = [\n { title: 'Overview', path: Routes.SYSTEM.SIDECARS.OVERVIEW, exactPathMatch: true },\n { title: 'Administration', path: Routes.SYSTEM.SIDECARS.ADMINISTRATION },\n { title: 'Configuration', path: Routes.SYSTEM.SIDECARS.CONFIGURATION },\n { title: 'Failure Tracking', path: Routes.SYSTEM.SIDECARS.FAILURE_TRACKING },\n];\n\nconst SidecarsPageNavigation = () => (\n \n \n
\n);\n\nexport default SidecarsPageNavigation;\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 Reflux from 'reflux';\nimport URI from 'urijs';\nimport merge from 'lodash/merge';\n\nimport * as URLUtils from 'util/URLUtils';\nimport UserNotification from 'util/UserNotification';\nimport fetch from 'logic/rest/FetchProvider';\nimport { singletonStore, singletonActions } from 'logic/singleton';\n\nexport const CollectorConfigurationsActions = singletonActions(\n 'core.CollectorConfigurations',\n () => Reflux.createActions({\n all: { asyncResult: true },\n list: { asyncResult: true },\n getConfiguration: { asyncResult: true },\n getConfigurationSidecars: { asyncResult: true },\n createConfiguration: { asyncResult: true },\n updateConfiguration: { asyncResult: true },\n renderPreview: { asyncResult: true },\n copyConfiguration: { asyncResult: true },\n delete: { asyncResult: true },\n validate: { asyncResult: true },\n }),\n);\n\nexport const CollectorConfigurationsStore = singletonStore(\n 'core.CollectorConfigurations',\n () => Reflux.createStore({\n listenables: [CollectorConfigurationsActions],\n sourceUrl: '/sidecar',\n configurations: undefined,\n pagination: {\n page: undefined,\n pageSize: undefined,\n total: undefined,\n },\n total: undefined,\n paginatedConfigurations: undefined,\n query: undefined,\n\n getInitialState() {\n return {\n configurations: this.configurations,\n query: this.query,\n total: this.total,\n pagination: this.pagination,\n paginatedConfigurations: this.paginatedConfigurations,\n };\n },\n\n propagateChanges() {\n this.trigger({\n configurations: this.configurations,\n query: this.query,\n total: this.total,\n pagination: this.pagination,\n paginatedConfigurations: this.paginatedConfigurations,\n });\n },\n\n _fetchConfigurations({ query, page, pageSize }) {\n const baseUrl = `${this.sourceUrl}/configurations`;\n const search = {\n query: query,\n page: page,\n per_page: pageSize,\n };\n\n const uri = URI(baseUrl).search(search).toString();\n\n return fetch('GET', URLUtils.qualifyUrl(uri));\n },\n\n all() {\n const promise = this._fetchConfigurations({ pageSize: 0 });\n\n promise\n .then(\n (response) => {\n this.configurations = response.configurations;\n this.propagateChanges();\n\n return response.configurations;\n },\n (error) => {\n UserNotification.error(`Fetching collector configurations failed with status: ${error}`,\n 'Could not retrieve configurations');\n },\n );\n\n CollectorConfigurationsActions.all.promise(promise);\n },\n\n list({ query = '', page = 1, pageSize = 10 }) {\n const promise = this._fetchConfigurations({ query: query, page: page, pageSize: pageSize });\n\n promise\n .then(\n (response) => {\n this.query = response.query;\n\n this.pagination = {\n page: response.pagination.page,\n pageSize: response.pagination.per_page,\n total: response.pagination.total,\n };\n\n this.total = response.total;\n this.paginatedConfigurations = response.configurations;\n this.propagateChanges();\n\n return response.configurations;\n },\n (error) => {\n UserNotification.error(`Fetching collector configurations failed with status: ${error}`,\n 'Could not retrieve configurations');\n },\n );\n\n CollectorConfigurationsActions.list.promise(promise);\n },\n\n refreshList() {\n this.list({ query: this.query, page: this.page, pageSize: this.pageSize });\n },\n\n getConfiguration(configurationId) {\n const promise = fetch('GET', URLUtils.qualifyUrl(`${this.sourceUrl}/configurations/${configurationId}`));\n\n promise.catch((error) => {\n let errorMessage = `Fetching Configuration failed with status: ${error}`;\n\n if (error.status === 404) {\n errorMessage = `Unable to find a Configuration with ID <${configurationId}>, please ensure it was not deleted.`;\n }\n\n UserNotification.error(errorMessage, 'Could not retrieve Configuration');\n });\n\n CollectorConfigurationsActions.getConfiguration.promise(promise);\n },\n\n getConfigurationSidecars(configurationId) {\n const promise = fetch('GET', URLUtils.qualifyUrl(`${this.sourceUrl}/configurations/${configurationId}/sidecars`));\n\n promise.catch((error) => {\n let errorMessage = `Fetching Configuration failed with status: ${error}`;\n\n if (error.status === 404) {\n errorMessage = `Unable to find a Configuration with ID <${configurationId}>, please ensure it was not deleted.`;\n }\n\n UserNotification.error(errorMessage, 'Could not retrieve Configuration');\n });\n\n CollectorConfigurationsActions.getConfigurationSidecars.promise(promise);\n },\n\n renderPreview(template) {\n const requestTemplate = {\n template: template,\n };\n\n const promise = fetch(\n 'POST',\n URLUtils.qualifyUrl(`${this.sourceUrl}/configurations/render/preview`),\n requestTemplate,\n );\n\n promise\n .catch(\n (error) => {\n UserNotification.error(`Fetching configuration preview failed with status: ${error}`,\n 'Could not retrieve preview');\n },\n );\n\n CollectorConfigurationsActions.renderPreview.promise(promise);\n },\n\n createConfiguration(configuration) {\n const url = URLUtils.qualifyUrl(`${this.sourceUrl}/configurations`);\n const method = 'POST';\n\n const promise = fetch(method, url, configuration);\n\n promise\n .then((response) => {\n UserNotification.success('', 'Configuration successfully created');\n\n return response;\n }, (error) => {\n UserNotification.error(error.status === 400 ? error.responseMessage : `Creating configuration failed with status: ${error.message}`,\n 'Could not save configuration');\n });\n\n CollectorConfigurationsActions.createConfiguration.promise(promise);\n },\n\n updateConfiguration(configuration) {\n const url = URLUtils.qualifyUrl(`${this.sourceUrl}/configurations/${configuration.id}`);\n\n const promise = fetch('PUT', url, configuration);\n\n promise\n .then((response) => {\n UserNotification.success('', 'Configuration successfully updated');\n this.refreshList();\n\n return response;\n }, (error) => {\n UserNotification.error(`Updating Configuration failed: ${error.status === 400 ? error.responseMessage : error.message}`,\n `Could not update Configuration ${configuration.name}`);\n });\n\n CollectorConfigurationsActions.updateConfiguration.promise(promise);\n },\n\n copyConfiguration(configurationId, name) {\n const url = URLUtils.qualifyUrl(`${this.sourceUrl}/configurations/${configurationId}/${name}`);\n const method = 'POST';\n\n const promise = fetch(method, url);\n\n promise\n .then((response) => {\n UserNotification.success('', `Configuration \"${name}\" successfully copied`);\n this.refreshList();\n\n return response;\n }, (error) => {\n UserNotification.error(`Saving configuration \"${name}\" failed with status: ${error.message}`,\n 'Could not save Configuration');\n });\n\n CollectorConfigurationsActions.copyConfiguration.promise(promise);\n },\n\n delete(configuration) {\n const url = URLUtils.qualifyUrl(`${this.sourceUrl}/configurations/${configuration.id}`);\n const promise = fetch('DELETE', url);\n\n promise\n .then((response) => {\n UserNotification.success('', `Configuration \"${configuration.name}\" successfully deleted`);\n this.refreshList();\n\n return response;\n }, (error) => {\n UserNotification.error(`Deleting Configuration failed: ${error.status === 400 ? error.responseMessage : error.message}`,\n `Could not delete Configuration ${configuration.name}`);\n });\n\n CollectorConfigurationsActions.delete.promise(promise);\n },\n\n validate(configuration) {\n // set minimum api defaults for faster validation feedback\n const payload = {\n name: ' ',\n collector_id: ' ',\n color: ' ',\n template: ' ',\n };\n\n merge(payload, configuration);\n\n const promise = fetch('POST', URLUtils.qualifyUrl(`${this.sourceUrl}/configurations/validate`), payload);\n\n promise\n .then(\n (response) => response,\n (error) => (\n UserNotification.error(`Validating configuration \"${payload.name}\" failed with status: ${error.message}`,\n 'Could not validate configuration')\n ),\n );\n\n CollectorConfigurationsActions.validate.promise(promise);\n },\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 Reflux from 'reflux';\nimport URI from 'urijs';\nimport merge from 'lodash/merge';\n\nimport * as URLUtils from 'util/URLUtils';\nimport fetch from 'logic/rest/FetchProvider';\nimport UserNotification from 'util/UserNotification';\nimport { singletonStore, singletonActions } from 'logic/singleton';\n\nexport const CollectorsActions = singletonActions(\n 'core.Collectors',\n () => Reflux.createActions({\n getCollector: { asyncResult: true },\n all: { asyncResult: true },\n list: { asyncResult: true },\n create: { asyncResult: true },\n update: { asyncResult: true },\n delete: { asyncResult: true },\n copy: { asyncResult: true },\n validate: { asyncResult: true },\n }),\n);\n\nexport const CollectorsStore = singletonStore(\n 'core.Collectors',\n () => Reflux.createStore({\n listenables: [CollectorsActions],\n sourceUrl: '/sidecar',\n collectors: undefined,\n query: undefined,\n pagination: {\n page: undefined,\n pageSize: undefined,\n total: undefined,\n },\n total: undefined,\n paginatedCollectors: undefined,\n\n getInitialState() {\n return {\n collectors: this.collectors,\n };\n },\n\n propagateChanges() {\n this.trigger({\n collectors: this.collectors,\n paginatedCollectors: this.paginatedCollectors,\n query: this.query,\n total: this.total,\n pagination: this.pagination,\n });\n },\n\n getCollector(collectorId) {\n const promise = fetch('GET', URLUtils.qualifyUrl(`${this.sourceUrl}/collectors/${collectorId}`));\n\n promise.catch((error) => {\n let errorMessage = `Fetching Collector failed with status: ${error}`;\n\n if (error.status === 404) {\n errorMessage = `Unable to find a collector with ID <${collectorId}>, please ensure it was not deleted.`;\n }\n\n UserNotification.error(errorMessage, 'Could not retrieve Collector');\n });\n\n CollectorsActions.getCollector.promise(promise);\n },\n\n _fetchCollectors({ query, page, pageSize }) {\n const search = {\n query: query,\n page: page,\n per_page: pageSize,\n };\n\n const uri = URI(`${this.sourceUrl}/collectors/summary`).search(search).toString();\n\n return fetch('GET', URLUtils.qualifyUrl(uri));\n },\n\n all() {\n const promise = this._fetchCollectors({ pageSize: 0 });\n\n promise\n .then(\n (response) => {\n this.collectors = response.collectors;\n this.propagateChanges();\n\n return response.collectors;\n },\n (error) => {\n UserNotification.error(`Fetching collectors failed with status: ${error}`,\n 'Could not retrieve collectors');\n },\n );\n\n CollectorsActions.all.promise(promise);\n },\n\n list({ query = '', page = 1, pageSize = 10 }) {\n const promise = this._fetchCollectors({ query: query, page: page, pageSize: pageSize });\n\n promise\n .then(\n (response) => {\n this.query = response.query;\n\n this.pagination = {\n page: response.pagination.page,\n pageSize: response.pagination.per_page,\n total: response.pagination.total,\n };\n\n this.total = response.total;\n this.paginatedCollectors = response.collectors;\n\n this.propagateChanges();\n\n return response.collectors;\n },\n (error) => {\n UserNotification.error(`Fetching collectors failed with status: ${error}`,\n 'Could not retrieve collectors');\n },\n );\n\n CollectorsActions.list.promise(promise);\n },\n\n refreshList() {\n this.list({ query: this.query, page: this.pagination.page, pageSize: this.pagination.pageSize });\n },\n\n create(collector) {\n const promise = fetch('POST', URLUtils.qualifyUrl(`${this.sourceUrl}/collectors`), collector);\n\n promise\n .then(\n (response) => {\n UserNotification.success('', 'Collector successfully created');\n this.collectors = response.collectors;\n this.propagateChanges();\n\n return this.collectors;\n },\n (error) => {\n UserNotification.error(`Fetching collectors failed with status: ${error}`,\n 'Could not retrieve collectors');\n },\n );\n\n CollectorsActions.create.promise(promise);\n },\n\n update(collector) {\n const promise = fetch('PUT', URLUtils.qualifyUrl(`${this.sourceUrl}/collectors/${collector.id}`), collector);\n\n promise\n .then(\n (response) => {\n UserNotification.success('', 'Collector successfully updated');\n this.collectors = response.collectors;\n this.propagateChanges();\n\n return this.collectors;\n },\n (error) => {\n UserNotification.error(`Fetching collectors failed with status: ${error}`,\n 'Could not retrieve collectors');\n },\n );\n\n CollectorsActions.update.promise(promise);\n },\n\n delete(collector) {\n const url = URLUtils.qualifyUrl(`${this.sourceUrl}/collectors/${collector.id}`);\n const promise = fetch('DELETE', url);\n\n promise\n .then((response) => {\n UserNotification.success('', `Collector \"${collector.name}\" successfully deleted`);\n this.refreshList();\n\n return response;\n }, (error) => {\n UserNotification.error(`Deleting Collector failed: ${error.status === 400 ? error.responseMessage : error.message}`,\n `Could not delete Collector \"${collector.name}\"`);\n });\n\n CollectorsActions.delete.promise(promise);\n },\n\n copy(collectorId, name) {\n const url = URLUtils.qualifyUrl(`${this.sourceUrl}/collectors/${collectorId}/${name}`);\n const method = 'POST';\n\n const promise = fetch(method, url);\n\n promise\n .then((response) => {\n UserNotification.success('', `Collector \"${name}\" successfully copied`);\n this.refreshList();\n\n return response;\n }, (error) => {\n UserNotification.error(`Saving collector \"${name}\" failed with status: ${error.message}`,\n 'Could not save Collector');\n });\n\n CollectorsActions.copy.promise(promise);\n },\n\n validate(collector) {\n // set minimum api defaults for faster validation feedback\n const payload = {\n id: ' ',\n service_type: 'exec',\n executable_path: ' ',\n default_template: ' ',\n };\n\n merge(payload, collector);\n\n const promise = fetch('POST', URLUtils.qualifyUrl(`${this.sourceUrl}/collectors/validate`), payload);\n\n promise\n .then(\n (response) => response,\n (error) => (\n UserNotification.error(`Validating collector \"${payload.name}\" failed with status: ${error.message}`,\n 'Could not validate collector')\n ),\n );\n\n CollectorsActions.validate.promise(promise);\n },\n }),\n);\n"],"names":["Container","StyledButton","theme","items","path","title","permissions","exactPathMatch","collector","operatingSystem","matchIcon","os","OperatingSystemIcon","iconName","iconType","NAV_ITEMS","CollectorConfigurationsActions","CollectorConfigurationsStore","query","page","pageSize","baseUrl","search","uri","promise","response","error","configurationId","errorMessage","template","requestTemplate","configuration","url","name","payload","CollectorsActions","CollectorsStore","collectorId"],"sourceRoot":""}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy