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

web-interface.assets.bb8c8232-4168.e6772911027ec5fb5c5d.js.map Maven / Gradle / Ivy

There is a newer version: 6.1.4
Show newest version
{"version":3,"file":"bb8c8232-4168.e6772911027ec5fb5c5d.js","mappings":"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","sources":["webpack://graylog-web-interface/./src/components/grok-patterns/GrokPatternFilter.css","webpack://graylog-web-interface/./src/components/grok-patterns/GrokPatternFilter.css?6aa1","webpack://graylog-web-interface/./src/components/grok-patterns/GrokPatternFilter.jsx","webpack://graylog-web-interface/./src/components/grok-patterns/GrokPatternInput.jsx","webpack://graylog-web-interface/./src/components/grok-patterns/EditPatternModal.jsx","webpack://graylog-web-interface/./src/components/grok-patterns/BulkLoadPatternModal.jsx","webpack://graylog-web-interface/./src/components/grok-patterns/GrokPatternQueryHelper.tsx","webpack://graylog-web-interface/./src/components/grok-patterns/GrokPatterns.jsx","webpack://graylog-web-interface/./src/pages/GrokPatternsPage.tsx","webpack://graylog-web-interface/./src/stores/grok-patterns/GrokPatternsStore.ts"],"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, `.YdarIKpxaNitFlWJ678S {\n    height: 160px;\n    max-height: 160px;\n    overflow: hidden;\n    overflow-y: scroll;\n    padding-left: 0;\n    border-bottom: 1px solid #ddd;\n}\n\n.kqwpZ3NGYl1tRenAeuma {\n    margin-bottom: 0px;\n}\n\n.lmEVMuAgMnJwEQOO5HRZ {\n    position: absolute;\n    top: 7px;\n    right: 7px;\n}\n\n.J36QQw1MHcjMFdoQeCi9 {\n    text-overflow: ellipsis;\n    white-space: nowrap;\n    overflow: hidden;\n    display: block;\n}\n`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/grok-patterns/GrokPatternFilter.css\"],\"names\":[],\"mappings\":\"AAAA;IACI,aAAa;IACb,iBAAiB;IACjB,gBAAgB;IAChB,kBAAkB;IAClB,eAAe;IACf,6BAA6B;AACjC;;AAEA;IACI,kBAAkB;AACtB;;AAEA;IACI,kBAAkB;IAClB,QAAQ;IACR,UAAU;AACd;;AAEA;IACI,uBAAuB;IACvB,mBAAmB;IACnB,gBAAgB;IAChB,cAAc;AAClB\",\"sourcesContent\":[\":local(.resultList) {\\n    height: 160px;\\n    max-height: 160px;\\n    overflow: hidden;\\n    overflow-y: scroll;\\n    padding-left: 0;\\n    border-bottom: 1px solid #ddd;\\n}\\n\\n:local(.filterFormGroup) {\\n    margin-bottom: 0px;\\n}\\n\\n:local(.addButton) {\\n    position: absolute;\\n    top: 7px;\\n    right: 7px;\\n}\\n\\n:local(.patternDisplay) {\\n    text-overflow: ellipsis;\\n    white-space: nowrap;\\n    overflow: hidden;\\n    display: block;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"resultList\": `YdarIKpxaNitFlWJ678S`,\n\t\"filterFormGroup\": `kqwpZ3NGYl1tRenAeuma`,\n\t\"addButton\": `lmEVMuAgMnJwEQOO5HRZ`,\n\t\"patternDisplay\": `J36QQw1MHcjMFdoQeCi9`\n};\nexport default ___CSS_LOADER_EXPORT___;\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[4].use[1]!./GrokPatternFilter.css\";\n      \n      \n\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\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!./GrokPatternFilter.css\";\n       export default content && content.locals ? content.locals : undefined;\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 isEqual from 'lodash/isEqual';\n\nimport { ListGroup, ListGroupItem, Button, Input } from 'components/bootstrap';\n\nimport GrokPatternFilterStyle from './GrokPatternFilter.css';\n\nclass GrokPatternFilter extends React.Component {\n  static propTypes = {\n    addToPattern: PropTypes.func.isRequired,\n    patterns: PropTypes.array.isRequired,\n  };\n\n  shownListItems = [];\n\n  constructor(props) {\n    super(props);\n\n    this.state = {\n      patternFilter: '',\n      activeListItem: -1,\n    };\n  }\n\n  shouldComponentUpdate(nextProps, nextState) {\n    const { patterns } = this.props;\n    const { patternFilter, activeListItem } = this.state;\n\n    if (isEqual(nextProps.patterns, patterns) && patternFilter === nextState.patternFilter && activeListItem === nextState.activeListItem) {\n      return false;\n    }\n\n    return true;\n  }\n\n  _onPatternFilterChange = (e) => {\n    this.setState({ patternFilter: e.target.value, activeListItem: -1 });\n  };\n\n  _onPatternFilterKeyDown = (e) => {\n    const { addToPattern } = this.props;\n    const { activeListItem } = this.state;\n    const ARROW_DOWN = 40;\n    const ARROW_UP = 38;\n    const ENTER = 13;\n    const listItem = this.shownListItems[activeListItem];\n\n    let newActiveListItem = 0;\n    const firstElement = document.getElementById('list-item-0');\n    let domElement;\n    let list;\n\n    switch (e.keyCode) {\n      case ARROW_DOWN:\n        newActiveListItem = activeListItem + 1;\n\n        if (activeListItem >= this.shownListItems.length) {\n          return;\n        }\n\n        domElement = document.getElementById(`list-item-${newActiveListItem}`);\n        list = domElement.parentElement;\n        list.scrollTop = domElement.offsetTop - firstElement.offsetTop;\n        this.setState({ activeListItem: newActiveListItem });\n        e.preventDefault();\n        break;\n      case ARROW_UP:\n        newActiveListItem = activeListItem - 1;\n\n        if (newActiveListItem < 0) {\n          return;\n        }\n\n        domElement = document.getElementById(`list-item-${newActiveListItem}`);\n        list = domElement.parentElement;\n        list.scrollTop = domElement.offsetTop - firstElement.offsetTop;\n        this.setState({ activeListItem: newActiveListItem });\n        e.preventDefault();\n        break;\n      case ENTER:\n        if (listItem) {\n          addToPattern(listItem);\n        }\n\n        e.preventDefault();\n        break;\n      default:\n        break;\n    }\n  };\n\n  render() {\n    const { activeListItem, patternFilter } = this.state;\n    const { addToPattern, patterns } = this.props;\n    let regExp;\n    let regExpError;\n\n    try {\n      regExp = RegExp(patternFilter, 'i');\n    } catch (error) {\n      regExpError = error?.message;\n    }\n\n    this.shownListItems = [];\n    let patternsToDisplay = [];\n\n    if (!regExpError) {\n      patternsToDisplay = patterns.filter((displayedPattern) => regExp.test(displayedPattern.name))\n        .map((displayedPattern, index) => {\n          const active = index === activeListItem;\n\n          this.shownListItems.push(displayedPattern.name);\n\n          return (\n            \n              {displayedPattern.pattern}\n              \n                \n              \n            \n          );\n        });\n    }\n\n    return (\n      <>\n        \n        {!regExpError && {patternsToDisplay}}\n      \n    );\n  }\n}\n\nexport default GrokPatternFilter;\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 { Row, Col, Input } from 'components/bootstrap';\n\nimport GrokPatternFilter from './GrokPatternFilter';\n\nclass GrokPatternInput extends React.Component {\n  static propTypes = {\n    pattern: PropTypes.string,\n    patterns: PropTypes.array,\n    onPatternChange: PropTypes.func,\n    className: PropTypes.string,\n  };\n\n  static defaultProps = {\n    pattern: '',\n    patterns: [],\n    onPatternChange: () => {},\n    className: '',\n  };\n\n  shownListItems = [];\n\n  _onPatternChange = (e) => {\n    const { onPatternChange } = this.props;\n\n    onPatternChange(e.target.value);\n  };\n\n  _addToPattern = (name) => {\n    const { pattern, onPatternChange } = this.props;\n    const index = this.patternInput.getInputDOMNode().selectionStart || pattern.length;\n    const newPattern = `${pattern.slice(0, index)}%{${name}}${pattern.slice(index)}`;\n\n    onPatternChange(newPattern);\n  };\n\n  render() {\n    const { className, patterns, pattern } = this.props;\n\n    this.shownListItems = [];\n\n    return (\n      \n        \n           { this.patternInput = node; }}\n                 type=\"textarea\"\n                 id=\"pattern-input\"\n                 label=\"Pattern\"\n                 help=\"The pattern which will match the log line e.g: '%{IP:client}' or '.*?'\"\n                 rows={9}\n                 onChange={this._onPatternChange}\n                 value={pattern}\n                 required />\n        \n        \n          \n        \n      \n    );\n  }\n}\n\nexport default GrokPatternInput;\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 { BootstrapModalForm, Input, Panel, Button } from 'components/bootstrap';\nimport withTelemetry from 'logic/telemetry/withTelemetry';\nimport { TELEMETRY_EVENT_TYPE } from 'logic/telemetry/Constants';\n\nimport GrokPatternInput from './GrokPatternInput';\n\nclass EditPatternModal extends React.Component {\n  static propTypes = {\n    id: PropTypes.string,\n    name: PropTypes.string,\n    pattern: PropTypes.string,\n    patterns: PropTypes.array,\n    create: PropTypes.bool,\n    sampleData: PropTypes.string,\n    savePattern: PropTypes.func.isRequired,\n    testPattern: PropTypes.func.isRequired,\n    validPatternName: PropTypes.func.isRequired,\n    sendTelemetry: PropTypes.func,\n  };\n\n  static defaultProps = {\n    id: '',\n    name: '',\n    pattern: '',\n    patterns: [],\n    create: false,\n    sampleData: '',\n    sendTelemetry: () => {},\n  };\n\n  constructor(props) {\n    super(props);\n\n    this.state = {\n      showModal: false,\n      id: props.id,\n      name: props.name,\n      pattern: props.pattern,\n      sampleData: props.sampleData,\n      test_result: '',\n      test_error: undefined,\n      error: false,\n      error_message: '',\n    };\n  }\n\n  openModal = () => {\n    this.setState({ showModal: true });\n  };\n\n  _onPatternChange = (newPattern) => {\n    this.setState({ pattern: newPattern });\n  };\n\n  _onNameChange = (event) => {\n    const { validPatternName } = this.props;\n    const name = event.target.value;\n\n    if (!validPatternName(name)) {\n      this.setState({ name: name, error: true, error_message: 'Pattern with that name already exists!' });\n    } else {\n      this.setState({ name: name, error: false, error_message: '' });\n    }\n  };\n\n  _onSampleDataChange = (event) => {\n    this.setState({ sampleData: event.target.value });\n  };\n\n  _getId = (prefixIdName) => {\n    const { name } = this.state;\n\n    return name !== undefined ? prefixIdName + name : prefixIdName;\n  };\n\n  _closeModal = () => {\n    this.setState({ showModal: false });\n  };\n\n  _saved = () => {\n    const { create, sendTelemetry } = this.props;\n\n    sendTelemetry(TELEMETRY_EVENT_TYPE.GROK_PATTERN[create ? 'CREATED' : 'UPDATED'], {\n      app_pathname: 'grokpatterns',\n      app_section: 'grokpatterns',\n    });\n\n    this._closeModal();\n\n    if (create) {\n      this.setState({ name: '', pattern: '', sampleData: '', test_result: '' });\n    }\n  };\n\n  _save = () => {\n    const { savePattern } = this.props;\n    const { error } = this.state;\n\n    if (!error) {\n      savePattern(this.state, this._saved);\n    }\n  };\n\n  _sendTelemetry = () => {\n    this.props.sendTelemetry(TELEMETRY_EVENT_TYPE.GROK_PATTERN.TESTED, {\n      app_pathname: 'grokpatterns',\n      app_section: 'grokpatterns',\n    });\n  };\n\n  _testPattern = () => {\n    const { name, pattern } = this.state;\n    const { testPattern } = this.props;\n\n    if (name === '' || pattern === '') {\n      this.setState({ error: true, error_message: 'To test the pattern a name and a pattern must be given!' });\n\n      return;\n    }\n\n    this.setState({ error: false, error_message: '' });\n\n    testPattern(this.state, (response) => {\n      this.setState({ test_result: JSON.stringify(response, null, 2), test_error: undefined });\n      this._sendTelemetry();\n    }, (errMessage) => {\n      this.setState({ test_result: '', test_error: errMessage });\n      this._sendTelemetry();\n    });\n  };\n\n  render() {\n    const { create, patterns } = this.props;\n    const {\n      showModal,\n      name,\n      error,\n      error_message: errorMessage,\n      pattern,\n      test_error: testError,\n      sampleData,\n      test_result: testResult,\n    } = this.state;\n\n    let triggerButtonContent;\n\n    if (create) {\n      triggerButtonContent = 'Create pattern';\n    } else {\n      triggerButtonContent = Edit;\n    }\n\n    return (\n      \n        \n        \n          
\n \n \n {testError\n && (\n \n {testError}\n \n )}\n \n \n
\n
\n \n
\n
\n
\n );\n }\n}\n\nexport default withTelemetry(EditPatternModal);\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 { Button, Input } from 'components/bootstrap';\nimport UserNotification from 'util/UserNotification';\nimport BootstrapModalForm from 'components/bootstrap/BootstrapModalForm';\nimport { GrokPatternsStore } from 'stores/grok-patterns/GrokPatternsStore';\nimport withTelemetry from 'logic/telemetry/withTelemetry';\nimport { TELEMETRY_EVENT_TYPE } from 'logic/telemetry/Constants';\n\nclass BulkLoadPatternModal extends React.Component {\n static propTypes = {\n onSuccess: PropTypes.func.isRequired,\n sendTelemetry: PropTypes.func,\n };\n\n constructor(props) {\n super(props);\n\n this.state = {\n showModal: false,\n importStrategy: 'ABORT_ON_CONFLICT',\n };\n }\n\n _openModal = () => {\n this.setState({ showModal: true });\n };\n\n _closeModal = () => {\n this.setState({ importStrategy: 'ABORT_ON_CONFLICT', showModal: false });\n };\n\n _onSubmit = (evt) => {\n evt.preventDefault();\n\n const reader = new FileReader();\n const { importStrategy } = this.state;\n const { onSuccess } = this.props;\n\n reader.onload = (loaded) => {\n const request = loaded.target.result;\n\n GrokPatternsStore.bulkImport(request, importStrategy).then(() => {\n UserNotification.success('Grok Patterns imported successfully', 'Success!');\n this._closeModal();\n\n this.props.sendTelemetry(TELEMETRY_EVENT_TYPE.GROK_PATTERN.IMPORTED, {\n app_pathname: 'grokpatterns',\n app_section: 'grokpatterns',\n });\n\n onSuccess();\n });\n };\n\n reader.readAsText(this.patternFile.getInputDOMNode().files[0]);\n };\n\n _onImportStrategyChange = (event) => this.setState({ importStrategy: event.target.value });\n\n render() {\n return (\n \n \n\n \n { this.patternFile = patternFile; }}\n name=\"patterns\"\n label=\"Pattern file\"\n help=\"A file containing Grok patterns, one per line. Name and patterns should be separated by whitespace.\"\n required />\n this._onImportStrategyChange(e)} />\n this._onImportStrategyChange(e)} />\n this._onImportStrategyChange(e)} />\n \n \n );\n }\n}\n\nBulkLoadPatternModal.defaultProps = {\n sendTelemetry: () => {},\n};\n\nexport default withTelemetry(BulkLoadPatternModal);\n","/*\n * Copyright (C) 2020 Graylog, Inc.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the Server Side Public License, version 1,\n * as published by MongoDB, Inc.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * Server Side Public License for more details.\n *\n * You should have received a copy of the Server Side Public License\n * along with this program. If not, see\n * .\n */\nimport * as React from 'react';\n\nimport QueryHelper from 'components/common/QueryHelper';\n\nconst fieldMap = {\n pattern: 'The pattern of the grok pattern',\n};\n\nconst queryExample = (\n

\n Find grok patterns containing COMMON in the pattern:
\n pattern:COMMON
\n

\n);\nconst GrokPatternQueryHelper = () => (\n \n);\n\nexport default GrokPatternQueryHelper;\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';\nimport styled from 'styled-components';\n\nimport {\n DataTable,\n Icon,\n IfPermitted,\n PageHeader,\n PaginatedList,\n SearchForm,\n OverlayTrigger,\n} from 'components/common';\nimport { Button, ButtonToolbar, Col, Row } from 'components/bootstrap';\nimport EditPatternModal from 'components/grok-patterns/EditPatternModal';\nimport BulkLoadPatternModal from 'components/grok-patterns/BulkLoadPatternModal';\nimport withPaginationQueryParameter from 'components/common/withPaginationQueryParameter';\nimport { GrokPatternsStore } from 'stores/grok-patterns/GrokPatternsStore';\nimport withTelemetry from 'logic/telemetry/withTelemetry';\nimport { TELEMETRY_EVENT_TYPE } from 'logic/telemetry/Constants';\n\nimport GrokPatternQueryHelper from './GrokPatternQueryHelper';\n\nimport QueryHelper from '../common/QueryHelper';\n\nconst GrokPatternsList = styled(DataTable)`\n th.name {\n min-width: 200px;\n }\n\n td {\n word-break: break-all;\n }\n`;\n\nconst testPattern = (pattern, callback, errCallback) => {\n GrokPatternsStore.testPattern(pattern, callback, errCallback);\n};\n\nconst _headerCellFormatter = (header) => {\n let formattedHeaderCell;\n\n switch (header.toLocaleLowerCase()) {\n case 'name':\n formattedHeaderCell = {header};\n break;\n case 'actions':\n formattedHeaderCell = {header};\n break;\n default:\n formattedHeaderCell = {header};\n }\n\n return formattedHeaderCell;\n};\n\nclass GrokPatterns extends React.Component {\n static propTypes = {\n paginationQueryParameter: PropTypes.object.isRequired,\n sendTelemetry: PropTypes.func,\n };\n\n constructor(props) {\n super(props);\n\n this.state = {\n patterns: [],\n pagination: {\n count: 0,\n total: 0,\n query: '',\n },\n };\n }\n\n componentDidMount() {\n this.loadData();\n }\n\n componentWillUnmount() {\n if (this.loadPromise) {\n this.loadPromise.cancel();\n }\n }\n\n loadData = (callback, page = this.props.paginationQueryParameter.page, perPage = this.props.paginationQueryParameter.pageSize) => {\n const { pagination: { query } } = this.state;\n\n this.loadPromise = GrokPatternsStore.searchPaginated(page, perPage, query)\n .then(({ patterns, pagination }) => {\n if (callback) {\n callback();\n }\n\n if (!this.loadPromise?.isCancelled()) {\n this.loadPromise = undefined;\n\n this.setState({ patterns, pagination });\n }\n });\n };\n\n validPatternName = (name) => {\n // Check if patterns already contain a pattern with the given name.\n const { patterns } = this.state;\n\n return !patterns.some((pattern) => pattern.name === name);\n };\n\n savePattern = (pattern, callback) => {\n GrokPatternsStore.savePattern(pattern, () => {\n callback();\n this.loadData();\n });\n };\n\n _onPageChange = (newPage, newPerPage) => {\n this.loadData(null, newPage, newPerPage);\n };\n\n _onSearch = (query, resetLoadingCallback) => {\n const { pagination } = this.state;\n const newPagination = Object.assign(pagination, { query: query });\n this.props.paginationQueryParameter.resetPage();\n this.setState({ pagination: newPagination }, () => this.loadData(resetLoadingCallback));\n };\n\n _onReset = () => {\n const { pagination } = this.state;\n const newPagination = Object.assign(pagination, { query: '' });\n this.props.paginationQueryParameter.resetPage();\n this.setState({ pagination: newPagination }, this.loadData);\n };\n\n confirmedRemove = (pattern) => {\n // eslint-disable-next-line no-alert\n if (window.confirm(`Really delete the grok pattern ${pattern.name}?\\nIt will be removed from the system and unavailable for any extractor. If it is still in use by extractors those will fail to work.`)) {\n GrokPatternsStore.deletePattern(pattern, () => {\n this.props.sendTelemetry(TELEMETRY_EVENT_TYPE.GROK_PATTERN.DELETED, {\n app_pathname: 'grokpatterns',\n app_section: 'grokpatterns',\n });\n\n this.loadData();\n });\n }\n };\n\n _patternFormatter = (pattern) => {\n const { patterns: unfilteredPatterns } = this.state;\n const patterns = unfilteredPatterns.filter((p) => p.name !== pattern.name);\n\n return (\n \n {pattern.name}\n {pattern.pattern}\n \n \n \n \n \n \n \n \n \n );\n };\n\n render() {\n const headers = ['Name', 'Pattern', 'Actions'];\n const { pagination, patterns } = this.state;\n\n const queryHelperComponent = (\n \n );\n\n return (\n
\n \n \n \n \n \n \n )}>\n \n This is a list of grok patterns you can use in your Graylog grok extractors. You can add\n your own manually or import a whole list of patterns from a so called pattern file.\n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n );\n }\n}\n\nGrokPatterns.defaultProps = {\n sendTelemetry: () => {},\n};\n\nexport default withTelemetry(withPaginationQueryParameter(GrokPatterns));\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 GrokPatterns from 'components/grok-patterns/GrokPatterns';\nimport { DocumentTitle } from 'components/common';\n\nconst GrokPatternsPage = () => (\n \n \n \n);\n\nexport default GrokPatternsPage;\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 fetch, { fetchPlainText } from 'logic/rest/FetchProvider';\nimport PaginationURL from 'util/PaginationURL';\nimport ApiRoutes from 'routing/ApiRoutes';\nimport { qualifyUrl } from 'util/URLUtils';\nimport UserNotification from 'util/UserNotification';\nimport { singletonStore } from 'logic/singleton';\n\ntype GrokPattern = {\n id: string,\n name: string,\n pattern: string,\n content_pack: string,\n};\n\ntype PaginatedResponse = {\n count: number,\n total: number,\n page: number,\n per_page: number,\n patterns: Array,\n};\n\ntype GrokPatternTest = {\n name: string,\n pattern: string,\n sampleData: string,\n};\n\n// eslint-disable-next-line import/prefer-default-export\nexport const GrokPatternsStore = singletonStore(\n 'core.GrokPatterns',\n () => Reflux.createStore({\n URL: qualifyUrl('/system/grok'),\n\n loadPatterns(callback: (patterns: Array) => void) {\n const failCallback = (error) => {\n UserNotification.error(`Loading Grok patterns failed with status: ${error.message}`,\n 'Could not load Grok patterns');\n };\n\n // get the current list of patterns and sort it by name\n return fetch('GET', this.URL)\n .then(\n (resp: any) => {\n const { patterns } = resp;\n\n patterns.sort((pattern1: GrokPattern, pattern2: GrokPattern) => pattern1.name.toLowerCase()\n .localeCompare(pattern2.name.toLowerCase()));\n\n callback(patterns);\n\n return resp;\n },\n failCallback,\n );\n },\n\n searchPaginated(page, perPage, query) {\n const url = PaginationURL(ApiRoutes.GrokPatternsController.paginated().url, page, perPage, query);\n\n return fetch('GET', qualifyUrl(url))\n .then((response: PaginatedResponse) => {\n const pagination = {\n count: response.count,\n total: response.total,\n page: response.page,\n perPage: response.per_page,\n query: query,\n };\n\n return {\n patterns: response.patterns,\n pagination: pagination,\n };\n })\n .catch((errorThrown) => {\n UserNotification.error(`Loading patterns failed with status: ${errorThrown}`,\n 'Could not load streams');\n });\n },\n\n testPattern(pattern: GrokPatternTest, callback: (request: any) => void, errCallback: (errorMessage: string) => void) {\n const failCallback = (error) => {\n let errorMessage = error.message;\n const errorBody = error.additional.body;\n\n if (errorBody && errorBody.message) {\n errorMessage = error.additional.body.message;\n }\n\n errCallback(errorMessage);\n };\n\n const requestPatternTest = {\n grok_pattern: {\n name: pattern.name,\n pattern: pattern.pattern,\n },\n sampleData: pattern.sampleData,\n };\n\n fetch('POST', qualifyUrl(ApiRoutes.GrokPatternsController.test().url), requestPatternTest)\n .then(\n (response) => {\n callback(response);\n\n return response;\n },\n failCallback,\n );\n },\n\n savePattern(pattern: GrokPattern, callback: () => void) {\n const failCallback = (error) => {\n let errorMessage = error.message;\n const errorBody = error.additional.body;\n\n if (errorBody && errorBody.message) {\n errorMessage = error.additional.body.message;\n }\n\n UserNotification.error(`Testing Grok pattern \"${pattern.name}\" failed with status: ${errorMessage}`,\n 'Could not test Grok pattern');\n };\n\n const requestPattern = {\n id: pattern.id,\n pattern: pattern.pattern,\n name: pattern.name,\n content_pack: pattern.content_pack,\n };\n\n let url = this.URL;\n let method;\n\n if (pattern.id === '') {\n method = 'POST';\n } else {\n url += `/${pattern.id}`;\n method = 'PUT';\n }\n\n fetch(method, url, requestPattern)\n .then(\n (response) => {\n callback();\n const action = pattern.id === '' ? 'created' : 'updated';\n const message = `Grok pattern \"${pattern.name}\" successfully ${action}`;\n\n UserNotification.success(message);\n\n return response;\n },\n failCallback,\n );\n },\n\n deletePattern(pattern: GrokPattern, callback: () => void) {\n const failCallback = (error) => {\n UserNotification.error(`Deleting Grok pattern \"${pattern.name}\" failed with status: ${error.message}`,\n 'Could not delete Grok pattern');\n };\n\n fetch('DELETE', `${this.URL}/${pattern.id}`)\n .then(\n (response) => {\n callback();\n UserNotification.success(`Grok pattern \"${pattern.name}\" successfully deleted`);\n\n return response;\n },\n failCallback,\n );\n },\n\n bulkImport(patterns: string, importStrategy: string) {\n const failCallback = (error) => {\n let errorMessage = error.message;\n const errorBody = error.additional.body;\n\n if (errorBody && errorBody.validation_errors && errorBody.validation_errors._) {\n errorMessage = '';\n const errors = errorBody.validation_errors._;\n\n // eslint-disable-next-line no-plusplus\n for (let i = 0, len = errors.length; i < len; i++) {\n errorMessage = errorMessage.concat(errors[i].error);\n }\n }\n\n UserNotification.error(`Importing Grok pattern file failed with status: ${errorMessage}`,\n 'Could not load Grok patterns');\n };\n\n const promise = fetchPlainText('POST', `${this.URL}?import-strategy=${importStrategy}`, patterns);\n\n promise.catch(failCallback);\n\n return promise;\n },\n }),\n);\n"],"names":["___CSS_LOADER_EXPORT___","module","options","update","props","e","addToPattern","activeListItem","ARROW_DOWN","ARROW_UP","ENTER","listItem","newActiveListItem","firstElement","domElement","list","nextProps","nextState","patterns","patternFilter","regExp","regExpError","error","patternsToDisplay","displayedPattern","index","active","GrokPatternInput","onPatternChange","name","pattern","newPattern","className","node","EditPatternModal","event","validPatternName","prefixIdName","create","sendTelemetry","savePattern","testPattern","response","errMessage","showModal","errorMessage","testError","sampleData","testResult","triggerButtonContent","withTelemetry","BulkLoadPatternModal","evt","reader","importStrategy","onSuccess","loaded","request","GrokPatternsStore","UserNotification","BootstrapModalForm","patternFile","fieldMap","queryExample","QueryHelper","GrokPatternsList","callback","errCallback","_headerCellFormatter","header","formattedHeaderCell","GrokPatterns","page","perPage","query","pagination","newPage","newPerPage","resetLoadingCallback","newPagination","unfilteredPatterns","p","headers","queryHelperComponent","withPaginationQueryParameter","failCallback","resp","pattern1","pattern2","url","errorThrown","errorBody","requestPatternTest","requestPattern","method","action","message","errors","i","len","promise"],"sourceRoot":""}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy