Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance. Project price only 1 $
You can buy this project and download/modify it how often you want.
{"version":3,"file":"b6fe2bb5-5696.ed0980cdc8289a51daee.js","mappings":"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","sources":["webpack://graylog-web-interface/./src/components/grok-patterns/GrokPatternFilter.css?004d","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/stores/grok-patterns/GrokPatternsStore.ts","webpack://graylog-web-interface/./src/components/grok-patterns/GrokPatternFilter.css"],"sourcesContent":["\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[6].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[6].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';\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 const regExp = RegExp(patternFilter, 'i');\n\n this.shownListItems = [];\n const 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 return (\n <>\n \n {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 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) => {\n return pattern1.name.toLowerCase()\n .localeCompare(pattern2.name.toLowerCase());\n });\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","// 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"],"names":["options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","undefined","GrokPatternFilter","props","e","setState","patternFilter","target","value","activeListItem","domElement","addToPattern","state","listItem","shownListItems","newActiveListItem","firstElement","document","getElementById","keyCode","length","parentElement","scrollTop","offsetTop","preventDefault","nextProps","nextState","patterns","this","isEqual","regExp","RegExp","patternsToDisplay","filter","displayedPattern","test","name","map","index","active","push","id","header","bsStyle","onKeyDown","_onPatternFilterKeyDown","key","className","GrokPatternFilterStyle","pattern","bsSize","onClick","type","label","onChange","_onPatternFilterChange","autoComplete","formGroupClassName","bsClass","React","PropTypes","GrokPatternInput","onPatternChange","patternInput","getInputDOMNode","selectionStart","slice","sm","ref","node","help","rows","_onPatternChange","required","_addToPattern","GrokPatternsStore","singletonStore","Reflux","URL","qualifyUrl","loadPatterns","callback","fetch","then","resp","sort","pattern1","pattern2","toLowerCase","localeCompare","error","UserNotification","message","searchPaginated","page","perPage","query","url","PaginationURL","ApiRoutes","response","pagination","count","total","per_page","errorThrown","testPattern","errCallback","requestPatternTest","grok_pattern","sampleData","errorMessage","errorBody","additional","body","savePattern","method","requestPattern","content_pack","action","deletePattern","bulkImport","importStrategy","promise","fetchPlainText","validation_errors","_","errors","i","len","concat","___CSS_LOADER_EXPORT___","module","locals"],"sourceRoot":""}