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

web-interface.assets.07ba022f-5208.0d9fd21186b56602db11.js.map Maven / Gradle / Ivy

There is a newer version: 6.1.4
Show newest version
{"version":3,"file":"07ba022f-5208.0d9fd21186b56602db11.js","mappings":"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","sources":["webpack://graylog-web-interface/./src/components/simulator/SimulationResults.lazy.css","webpack://graylog-web-interface/./src/components/simulator/SimulationTrace.lazy.css","webpack://graylog-web-interface/./src/components/common/PageNavigation.tsx","webpack://graylog-web-interface/./src/components/pipelines/PipelinesPageNavigation.tsx","webpack://graylog-web-interface/./src/stores/simulator/SimulatorStore.js","webpack://graylog-web-interface/./src/components/simulator/SimulationChanges.jsx","webpack://graylog-web-interface/./src/components/simulator/SimulationPreview.jsx","webpack://graylog-web-interface/./src/components/simulator/SimulationTrace.lazy.css?a62d","webpack://graylog-web-interface/./src/components/simulator/SimulationTrace.jsx","webpack://graylog-web-interface/./src/components/simulator/SimulationResults.lazy.css?7116","webpack://graylog-web-interface/./src/components/simulator/SimulationResults.jsx","webpack://graylog-web-interface/./src/components/simulator/ProcessorSimulator.jsx","webpack://graylog-web-interface/./src/pages/SimulatorPage.tsx"],"sourcesContent":["// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.message-preview-wrapper {\n    margin-left: 15px;\n    margin-right: 15px;\n}\n\n.message-preview-wrapper dl {\n    margin-top: 5px;\n    margin-bottom: 0;\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/simulator/SimulationResults.lazy.css\"],\"names\":[],\"mappings\":\"AAAA;IACI,iBAAiB;IACjB,kBAAkB;AACtB;;AAEA;IACI,eAAe;IACf,gBAAgB;AACpB\",\"sourcesContent\":[\".message-preview-wrapper {\\n    margin-left: 15px;\\n    margin-right: 15px;\\n}\\n\\n.message-preview-wrapper dl {\\n    margin-top: 5px;\\n    margin-bottom: 0;\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {};\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.dl-simulation-trace {\n    padding-top: 15px;\n}\n\n.dl-simulation-trace dt {\n    width: 80px;\n}\n\n.dl-simulation-trace dd {\n    margin-left: 100px;\n    margin-bottom: 5px;\n}\n`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/simulator/SimulationTrace.lazy.css\"],\"names\":[],\"mappings\":\"AAAA;IACI,iBAAiB;AACrB;;AAEA;IACI,WAAW;AACf;;AAEA;IACI,kBAAkB;IAClB,kBAAkB;AACtB\",\"sourcesContent\":[\".dl-simulation-trace {\\n    padding-top: 15px;\\n}\\n\\n.dl-simulation-trace dt {\\n    width: 80px;\\n}\\n\\n.dl-simulation-trace dd {\\n    margin-left: 100px;\\n    margin-bottom: 5px;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {};\nexport default ___CSS_LOADER_EXPORT___;\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 { 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\n  &&&& {\n    color: ${theme.colors.variant.darker.default};\n    \n    &:hover,\n    &:focus {\n      text-decoration: none;\n    }\n\n    > div {\n      &:hover,\n      &:focus {\n        color: ${theme.colors.variant.darker.default};\n      }\n    }\n\n    &:hover {\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  }\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';\n\nimport PageNavigation from 'components/common/PageNavigation';\nimport Routes from 'routing/Routes';\nimport { Row } from 'components/bootstrap';\n\nconst NAV_ITEMS = [\n  { title: 'Manage pipelines', path: Routes.SYSTEM.PIPELINES.OVERVIEW, exactPathMatch: true },\n  { title: 'Manage rules', path: Routes.SYSTEM.PIPELINES.RULES },\n  { title: 'Simulator', path: Routes.SYSTEM.PIPELINES.SIMULATOR },\n];\n\nconst EventsPageNavigation = () => (\n  \n    \n  \n);\n\nexport default EventsPageNavigation;\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';\n\nimport * as URLUtils from 'util/URLUtils';\nimport ApiRoutes from 'routing/ApiRoutes';\nimport fetch from 'logic/rest/FetchProvider';\nimport MessageFormatter from 'logic/message/MessageFormatter';\nimport ObjectUtils from 'util/ObjectUtils';\nimport { singletonStore, singletonActions } from 'logic/singleton';\n\nexport const SimulatorActions = singletonActions(\n  'core.Simulator',\n  () => Reflux.createActions({\n    simulate: { asyncResult: true },\n  }),\n);\n\nexport const SimulatorStore = singletonStore(\n  'core.Simulator',\n  () => Reflux.createStore({\n    listenables: [SimulatorActions],\n\n    simulate(stream, messageFields, inputId) {\n      const url = URLUtils.qualifyUrl(ApiRoutes.SimulatorController.simulate().url);\n      const simulation = {\n        stream_id: stream.id,\n        message: messageFields,\n        input_id: inputId,\n      };\n\n      let promise = fetch('POST', url, simulation);\n\n      promise = promise.then((response) => {\n        const formattedResponse = ObjectUtils.clone(response);\n\n        formattedResponse.messages = response.messages.map((msg) => MessageFormatter.formatMessageSummary(msg));\n\n        return formattedResponse;\n      });\n\n      SimulatorActions.simulate.promise(promise);\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 PropTypes from 'prop-types';\nimport React from 'react';\nimport styled, { css } from 'styled-components';\n// eslint-disable-next-line no-restricted-imports\nimport createReactClass from 'create-react-class';\n\nimport { Col, Row } from 'components/bootstrap';\nimport { Pluralize } from 'components/common';\n\nconst SimulationChangesWrap = styled.div`\n  padding-top: 15px;\n\n  dl {\n    margin-bottom: 10px;\n    margin-top: 5px;\n  }\n\n  dd {\n    padding: 1px 9px 3px;\n  }\n\n  dt {\n    margin-top: 1px;\n    padding: 3px 9px 1px;\n\n    &::after {\n      content: ': ';\n    }\n\n    &:first-child {\n      border-radius: 4px 4px 0 0;\n    }\n\n    ~ dd:last-child {\n      border-radius: 0 0 4px 4px;\n    }\n  }\n`;\n\nconst OriginalChanges = styled.div`\n  margin-top: 10px;\n`;\n\nconst FieldResultWrap = styled.div(({ resultType, theme }) => {\n  const { success, danger, info } = theme.colors.variant.light;\n  const types = {\n    added: success,\n    removed: danger,\n    mutated: info,\n  };\n\n  return `\n    dt,\n    dd {\n      background-color: ${types[resultType]};\n      color: ${theme.utils.contrastingColor(types[resultType])};\n    }\n  `;\n});\n\nconst FieldValue = styled.dd(({ removed, theme }) => css`\n  font-family: ${theme.fonts.family.monospace};\n\n  ${removed && css`\n    text-decoration: line-through;\n    font-style: italic;\n  `}\n`);\n\nconst SimulationChanges = createReactClass({\n  displayName: 'SimulationChanges',\n\n  propTypes: {\n    originalMessage: PropTypes.object.isRequired,\n    simulationResults: PropTypes.object.isRequired,\n  },\n\n  _isOriginalMessageRemoved(originalMessage, processedMessages) {\n    return !processedMessages.find((message) => message.id === originalMessage.id);\n  },\n\n  _formatFieldTitle(field) {\n    return 
{field}
;\n },\n\n _formatFieldValue(field, value, isRemoved = false) {\n return {String(value)};\n },\n\n _formatAddedFields(addedFields) {\n const keys = Object.keys(addedFields);\n\n if (keys.length === 0) {\n return null;\n }\n\n const formattedFields = [];\n\n keys.sort().forEach((field) => {\n formattedFields.push(this._formatFieldTitle(field));\n formattedFields.push(this._formatFieldValue(field, addedFields[field]));\n });\n\n return (\n \n

Added fields

\n
\n {formattedFields}\n
\n
\n );\n },\n\n _formatRemovedFields(removedFields) {\n const keys = Object.keys(removedFields);\n\n if (keys.length === 0) {\n return null;\n }\n\n const formattedFields = [];\n\n keys.sort().forEach((field) => {\n formattedFields.push(this._formatFieldTitle(field));\n formattedFields.push(this._formatFieldValue(field, removedFields[field]));\n });\n\n return (\n \n

Removed fields

\n
\n {formattedFields}\n
\n
\n );\n },\n\n _formatMutatedFields(mutatedFields) {\n const keys = Object.keys(mutatedFields);\n\n if (keys.length === 0) {\n return null;\n }\n\n const formattedFields = [];\n\n keys.sort().forEach((field) => {\n formattedFields.push(this._formatFieldTitle(field));\n formattedFields.push(this._formatFieldValue(`${field}-original`, mutatedFields[field].before, true));\n formattedFields.push(this._formatFieldValue(field, mutatedFields[field].after));\n });\n\n return (\n \n

Mutated fields

\n
\n {formattedFields}\n
\n
\n );\n },\n\n _getOriginalMessageChanges() {\n const { originalMessage, simulationResults } = this.props;\n const processedMessages = simulationResults.messages;\n\n if (this._isOriginalMessageRemoved(originalMessage, processedMessages)) {\n return

Original message would be dropped during processing.

;\n }\n\n const processedMessage = processedMessages.find((message) => message.id === originalMessage.id);\n\n const formattedAddedFields = this._formatAddedFields(processedMessage.decoration_stats.added_fields);\n const formattedRemovedFields = this._formatRemovedFields(processedMessage.decoration_stats.removed_fields);\n const formattedMutatedFields = this._formatMutatedFields(processedMessage.decoration_stats.changed_fields);\n\n if (!formattedAddedFields && !formattedRemovedFields && !formattedMutatedFields) {\n return

Original message would be not be modified during processing.

;\n }\n\n return (\n \n {formattedAddedFields}\n {formattedRemovedFields}\n {formattedMutatedFields}\n \n );\n },\n\n _formatOriginalMessageChanges() {\n const { originalMessage } = this.props;\n\n return (\n \n \n

\n Changes in original message{' '}\n {originalMessage.id}\n

\n {this._getOriginalMessageChanges()}\n \n
\n );\n },\n\n _formatOtherChanges() {\n const { originalMessage, simulationResults } = this.props;\n\n const createdMessages = simulationResults.messages.filter((message) => message.id !== originalMessage.id);\n\n if (createdMessages.length === 0) {\n return null;\n }\n\n return (\n \n \n

Other changes

\n

\n There would be {createdMessages.length}{' '}\n created.{' '}\n Switch to the Results preview view option to see{' '}\n .\n

\n \n
\n );\n },\n\n render() {\n return (\n \n {this._formatOriginalMessageChanges()}\n {this._formatOtherChanges()}\n \n );\n },\n});\n\nexport default SimulationChanges;\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 PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { Alert } from 'components/bootstrap';\nimport MessageShow from 'components/search/MessageShow';\n\nconst SimulationPreview = ({ simulationResults, streams }) => {\n const { messages } = simulationResults;\n\n if (messages.length === 0) {\n return (\n \n

\n The pipeline processor would drop such a message. That means that the message\n would not be stored, and would not be available for searches, alerts, outputs, or dashboards.\n

\n
\n );\n }\n\n const formattedMessages = messages.map((message) => (\n \n ));\n\n return
{formattedMessages}
;\n};\n\nSimulationPreview.propTypes = {\n simulationResults: PropTypes.object.isRequired,\n streams: PropTypes.object.isRequired,\n};\n\nexport default SimulationPreview;\n","\n var exported = {};\n\n import API from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[5].use[1]!./SimulationTrace.lazy.css\";\n \n if (content && content.locals) {\n exported.locals = content.locals;\n }\n \n\nvar refs = 0;\nvar update;\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nexported.use = function(insertOptions) {\n options.options = insertOptions || {};\n\n if (!(refs++)) {\n update = API(content, options);\n }\n\n return exported;\n};\nexported.unuse = function() {\n if (refs > 0 && !--refs) {\n update();\n update = null;\n }\n};\n\n\n\nexport * from \"!!../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[5].use[1]!./SimulationTrace.lazy.css\";\n export default exported;\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 PropTypes from 'prop-types';\nimport React from 'react';\n// eslint-disable-next-line no-restricted-imports\nimport createReactClass from 'create-react-class';\n\nimport NumberUtils from 'util/NumberUtils';\n\nimport style from './SimulationTrace.lazy.css';\n\nconst SimulationTrace = createReactClass({\n displayName: 'SimulationTrace',\n\n propTypes: {\n simulationResults: PropTypes.object.isRequired,\n },\n\n componentDidMount() {\n style.use();\n },\n\n componentWillUnmount() {\n style.unuse();\n },\n\n render() {\n const { simulationResults } = this.props;\n\n const simulationTrace = simulationResults.simulation_trace;\n\n const traceEntries = [];\n\n simulationTrace.forEach((trace, idx) => {\n // eslint-disable-next-line react/no-array-index-key\n traceEntries.push(
{NumberUtils.formatNumber(trace.time)} μs
);\n // eslint-disable-next-line react/no-array-index-key\n traceEntries.push(
{trace.message}
);\n });\n\n return (\n
\n {traceEntries}\n
\n );\n },\n});\n\nexport default SimulationTrace;\n","\n var exported = {};\n\n import API from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[5].use[1]!./SimulationResults.lazy.css\";\n \n if (content && content.locals) {\n exported.locals = content.locals;\n }\n \n\nvar refs = 0;\nvar update;\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nexported.use = function(insertOptions) {\n options.options = insertOptions || {};\n\n if (!(refs++)) {\n update = API(content, options);\n }\n\n return exported;\n};\nexported.unuse = function() {\n if (refs > 0 && !--refs) {\n update();\n update = null;\n }\n};\n\n\n\nexport * from \"!!../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[5].use[1]!./SimulationResults.lazy.css\";\n export default exported;\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 { Alert, Col, DropdownButton, MenuItem, Row } from 'components/bootstrap';\nimport { Spinner } from 'components/common';\nimport MessageShow from 'components/search/MessageShow';\nimport NumberUtils from 'util/NumberUtils';\n\nimport SimulationChanges from './SimulationChanges';\nimport SimulationPreview from './SimulationPreview';\nimport SimulationTrace from './SimulationTrace';\nimport style from './SimulationResults.lazy.css';\n\nconst VIEW_OPTIONS = {\n SIMULATION_PREVIEW: 1,\n SIMULATION_SUMMARY: 2,\n SIMULATION_TRACE: 3,\n};\n\nclass SimulationResults extends React.Component {\n constructor(props) {\n super(props);\n\n this.state = {\n viewOption: VIEW_OPTIONS.SIMULATION_SUMMARY,\n };\n }\n\n componentDidMount() {\n style.use();\n }\n\n componentWillUnmount() {\n style.unuse();\n }\n\n _changeViewOptions = (eventKey) => {\n const selectedOption = Object.keys(VIEW_OPTIONS).find((key) => VIEW_OPTIONS[key] === eventKey);\n\n this.setState({ viewOption: VIEW_OPTIONS[selectedOption] });\n };\n\n _getViewOptionsMenuItems = () => [\n this._getViewOptionsMenuItem(VIEW_OPTIONS.SIMULATION_SUMMARY, 'Changes summary'),\n this._getViewOptionsMenuItem(VIEW_OPTIONS.SIMULATION_PREVIEW, 'Results preview'),\n this._getViewOptionsMenuItem(VIEW_OPTIONS.SIMULATION_TRACE, 'Simulation trace'),\n ];\n\n _getViewOptionsMenuItem = (option, text) => {\n const { viewOption } = this.state;\n\n return (\n \n {text}\n \n );\n };\n\n _getViewComponent = (streams) => {\n const { simulationResults, isLoading, originalMessage } = this.props;\n\n if (isLoading || !simulationResults) {\n return ;\n }\n\n const { viewOption } = this.state;\n\n switch (viewOption) {\n case VIEW_OPTIONS.SIMULATION_PREVIEW:\n return ;\n case VIEW_OPTIONS.SIMULATION_SUMMARY:\n return (\n \n );\n case VIEW_OPTIONS.SIMULATION_TRACE:\n return ;\n default:\n // it should never happen™\n }\n\n return null;\n };\n\n render() {\n const { stream, simulationResults, isLoading, error, originalMessage } = this.props;\n\n if (!originalMessage && !simulationResults) {\n return null;\n }\n\n const streams = {\n [stream.id]: stream,\n };\n\n // eslint-disable-next-line no-nested-ternary\n const originalMessagePreview = isLoading\n ? \n : originalMessage\n ? (\n \n )\n : null;\n\n const errorMessage = error\n ? (\n \n

\n Could not simulate processing of message {originalMessage.id} in stream{' '}\n {stream.title}.\n
\n Please try loading the message again, or use another message for the simulation.\n

\n
\n )\n : null;\n\n return (\n \n \n
\n \n \n

Original message

\n

This is the original message loaded from Graylog.

\n
\n {originalMessagePreview}\n
\n \n \n
\n \n {this._getViewOptionsMenuItems()}\n \n
\n

Simulation results

\n

\n {isLoading\n ? 'Simulating message processing, please wait a moment.'\n : `These are the results of processing the loaded message. Processing took ${NumberUtils.formatNumber(simulationResults?.took_microseconds)} µs.`}\n

\n {errorMessage}\n {this._getViewComponent(streams)}\n \n
\n );\n }\n}\n\nSimulationResults.propTypes = {\n stream: PropTypes.object.isRequired,\n originalMessage: PropTypes.object,\n simulationResults: PropTypes.object,\n isLoading: PropTypes.bool,\n error: PropTypes.object,\n};\n\nSimulationResults.defaultProps = {\n originalMessage: undefined,\n simulationResults: undefined,\n isLoading: false,\n error: undefined,\n};\n\nexport default SimulationResults;\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 PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { defaultCompare as naturalSort } from 'logic/DefaultCompare';\nimport { Link } from 'components/common/router';\nimport { Col, ControlLabel, FormGroup, HelpBlock, Panel, Row } from 'components/bootstrap';\nimport { Select } from 'components/common';\nimport RawMessageLoader from 'components/messageloaders/RawMessageLoader';\nimport Routes from 'routing/Routes';\nimport { SimulatorActions } from 'stores/simulator/SimulatorStore';\n\nimport SimulationResults from './SimulationResults';\n\nconst DEFAULT_STREAM_ID = '000000000000000000000001';\n\nclass ProcessorSimulator extends React.Component {\n static propTypes = {\n streams: PropTypes.array.isRequired,\n };\n\n constructor(props) {\n super(props);\n // The default stream could not be present in a system. In that case we fallback to the first available stream.\n this.defaultStream = props.streams.find((s) => s.id === DEFAULT_STREAM_ID) || props.streams[0];\n\n this.state = {\n message: undefined,\n stream: this.defaultStream,\n simulation: undefined,\n loading: false,\n error: undefined,\n };\n }\n\n _onMessageLoad = (message, options) => {\n this.setState({ message: message, simulation: undefined, loading: true, error: undefined });\n\n SimulatorActions.simulate\n .triggerPromise(this.state.stream, message.fields, options.inputId)\n .then(\n (response) => {\n this.setState({ simulation: response, loading: false });\n },\n (error) => {\n this.setState({ loading: false, error: error });\n },\n );\n };\n\n _getFormattedStreams = (streams) => {\n if (!streams) {\n return [];\n }\n\n return streams\n .map((stream) => ({ value: stream.id, label: stream.title }))\n .sort((s1, s2) => naturalSort(s1.label, s2.label));\n };\n\n _onStreamSelect = (selectedStream) => {\n const stream = this.props.streams.find((s) => s.id.toLowerCase() === selectedStream.toLowerCase());\n\n this.setState({ stream: stream });\n };\n\n render() {\n if (this.props.streams.length === 0) {\n return (\n
\n \n \n \n Pipelines operate on streams, but your system currently has no streams. Please{' '}\n create a stream{' '}\n and come back here later to test pipelines processing messages in your new stream.\n \n \n \n
\n );\n }\n\n const streamHelp = (\n \n Select a stream to use during simulation, the {this.defaultStream.title} stream is used by default.\n \n );\n\n return (\n
\n \n \n

Load a message

\n

\n Build an example message that will be used in the simulation.{' '}\n No real messages stored in Graylog will be changed. All actions are purely simulated on the\n temporary input you provide below.\n \n

\n \n \n \n Stream\n