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

web-interface.assets.b6fe2bb5-5696.ed0980cdc8289a51daee.js.map Maven / Gradle / Ivy

{"version":3,"file":"b6fe2bb5-5696.ed0980cdc8289a51daee.js","mappings":"iZAWIA,EAAU,GAEdA,EAAQC,kBAAoB,IAC5BD,EAAQE,cAAgB,IAElBF,EAAQG,OAAS,SAAc,KAAM,QAE3CH,EAAQI,OAAS,IACjBJ,EAAQK,mBAAqB,IAEhB,IAAI,IAASL,GAKnB,QAAe,KAAW,WAAiB,gBAAiBM,E,07CCF7DC,EAAAA,SAAAA,I,4SAQJ,WAAYC,GAAO,a,4FAAA,aACjB,cAAMA,IADW,iBAFF,IAEE,iCAoBM,SAACC,GACxB,EAAKC,SAAS,CAAEC,cAAeF,EAAEG,OAAOC,MAAOC,gBAAiB,OArB/C,kCAwBO,SAACL,GACzB,IASIM,EATIC,EAAiB,EAAKR,MAAtBQ,aACAF,EAAmB,EAAKG,MAAxBH,eAIFI,EAAW,EAAKC,eAAeL,GAEjCM,EAAoB,EAClBC,EAAeC,SAASC,eAAe,eAI7C,OAAQd,EAAEe,SACR,KAXiB,GAcf,GAFAJ,EAAoBN,EAAiB,EAEjCA,GAAkB,EAAKK,eAAeM,OACxC,QAGFV,EAAaO,SAASC,eAAT,oBAAqCH,KAChCM,cACbC,UAAYZ,EAAWa,UAAYP,EAAaO,UACrD,EAAKlB,SAAS,CAAEI,eAAgBM,IAChCX,EAAEoB,iBACF,MACF,KAvBe,GA0Bb,IAFAT,EAAoBN,EAAiB,GAEb,EACtB,QAGFC,EAAaO,SAASC,eAAT,oBAAqCH,KAChCM,cACbC,UAAYZ,EAAWa,UAAYP,EAAaO,UACrD,EAAKlB,SAAS,CAAEI,eAAgBM,IAChCX,EAAEoB,iBACF,MACF,KAnCY,GAoCNX,GACFF,EAAaE,GAGfT,EAAEoB,qBAlEN,EAAKZ,MAAQ,CACXN,cAAe,GACfG,gBAAiB,GALF,E,kDASnB,SAAsBgB,EAAWC,GAC/B,IAAQC,EAAaC,KAAKzB,MAAlBwB,SACR,EAA0CC,KAAKhB,MAAvCN,EAAR,EAAQA,cAAeG,EAAvB,EAAuBA,eAEvB,QAAIoB,EAAAA,EAAAA,SAAQJ,EAAUE,SAAUA,IAAarB,IAAkBoB,EAAUpB,eAAiBG,IAAmBiB,EAAUjB,iB,oBA+DzH,WAAS,WACP,EAA0CmB,KAAKhB,MAAvCH,EAAR,EAAQA,eAAgBH,EAAxB,EAAwBA,cACxB,EAAmCsB,KAAKzB,MAAhCQ,EAAR,EAAQA,aAAcgB,EAAtB,EAAsBA,SAChBG,EAASC,OAAOzB,EAAe,KAErCsB,KAAKd,eAAiB,GACtB,IAAMkB,EAAoBL,EAASM,QAAO,SAACC,GAAD,OAAsBJ,EAAOK,KAAKD,EAAiBE,SAC1FC,KAAI,SAACH,EAAkBI,GACtB,IAAMC,EAASD,IAAU7B,EAIzB,OAFA,EAAKK,eAAe0B,KAAKN,EAAiBE,MAGxC,gBAAC,KAAD,CAAeK,GAAE,oBAAeH,GACjBI,OAAQR,EAAiBE,KACzBO,QAASJ,EAAS,YAAStC,EAC3B2C,UAAW,EAAKC,wBAChBC,IAAKZ,EAAiBE,MACnC,wBAAMW,UAAWC,EAAAA,gBAAwCd,EAAiBe,SAC1E,wBAAMF,UAAWC,EAAAA,WACf,gBAAC,KAAD,CAAQE,OAAO,SAASP,QAAQ,UAAUQ,QAAS,WAAQxC,EAAauB,EAAiBE,QAAzF,YAQV,OACE,gCACE,gBAAC,KAAD,CAAOgB,KAAK,OACLX,GAAG,mBACHY,MAAM,iBACNC,SAAU1B,KAAK2B,uBACfC,aAAa,MACbC,mBAAoBT,EAAAA,gBACpBJ,UAAWhB,KAAKiB,wBAChBrC,MAAOF,IACd,gBAAC,KAAD,CAAWoD,QAASV,EAAAA,YAAoChB,S,gFA1H1D9B,CAA0ByD,EAAAA,W,EAA1BzD,EAAAA,YACe,CACjBS,aAAciD,IAAAA,KAAAA,WACdjC,SAAUiC,IAAAA,MAAAA,aA6Hd,U,whDCjIMC,EAAAA,SAAAA,I,idAea,I,2BAEE,SAACzD,IAGlB0D,EAF4B,EAAK3D,MAAzB2D,iBAEQ1D,EAAEG,OAAOC,U,wBAGX,SAAC4B,GACf,MAAqC,EAAKjC,MAAlC8C,EAAR,EAAQA,QAASa,EAAjB,EAAiBA,gBACXxB,EAAQ,EAAKyB,aAAaC,kBAAkBC,gBAAkBhB,EAAQ7B,OAG5E0C,EAFmB,GAAH,OAAMb,EAAQiB,MAAM,EAAG5B,GAAvB,aAAkCF,EAAlC,YAA0Ca,EAAQiB,MAAM5B,Q,qCAK1E,WAAS,WACP,EAAyCV,KAAKzB,MAAtC4C,EAAR,EAAQA,UAAWpB,EAAnB,EAAmBA,SAAUsB,EAA7B,EAA6BA,QAI7B,OAFArB,KAAKd,eAAiB,GAGpB,gBAAC,KAAD,CAAKiC,UAAWA,GACd,gBAAC,KAAD,CAAKoB,GAAI,GACP,gBAAC,KAAD,CAAOC,IAAK,SAACC,GAAW,EAAKN,aAAeM,GACrCjB,KAAK,WACLX,GAAG,gBACHY,MAAM,UACNiB,KAAK,yEACLC,KAAM,EACNjB,SAAU1B,KAAK4C,iBACfhE,MAAOyC,EACPwB,UAAQ,KAEjB,gBAAC,KAAD,CAAKN,GAAI,GACP,gBAAC,EAAD,CAAmBxD,aAAciB,KAAK8C,cAAe/C,SAAUA,W,gFAlDnEkC,CAAyBF,EAAAA,W,EAAzBE,EAAAA,YACe,CACjBZ,QAASW,IAAAA,OACTjC,SAAUiC,IAAAA,MACVE,gBAAiBF,IAAAA,KACjBb,UAAWa,IAAAA,S,EALTC,EAAAA,eAQkB,CACpBZ,QAAS,GACTtB,SAAU,GACVmC,gBAAiB,aACjBf,UAAW,KA6Cf,W,iJCjCa4B,GAAoBC,E,cAAAA,IAC/B,qBACA,kBAAMC,IAAAA,YAAmB,CACvBC,KAAKC,EAAAA,EAAAA,IAAW,gBAEhBC,aAHuB,SAGVC,GAOX,OAAOC,EAAAA,EAAAA,IAAM,MAAOtD,KAAKkD,KACtBK,MACC,SAACC,GACC,IAAQzD,EAAayD,EAAbzD,SASR,OAPAA,EAAS0D,MAAK,SAACC,EAAuBC,GACpC,OAAOD,EAASlD,KAAKoD,cAClBC,cAAcF,EAASnD,KAAKoD,kBAGjCP,EAAStD,GAEFyD,KAlBQ,SAACM,GACpBC,EAAAA,EAAAA,MAAA,oDAAoED,EAAME,SACxE,oCAsBNC,gBA5BuB,SA4BPC,EAAMC,EAASC,GAC7B,IAAMC,GAAMC,EAAAA,EAAAA,GAAcC,EAAAA,EAAAA,uBAAAA,YAA6CF,IAAKH,EAAMC,EAASC,GAE3F,OAAOd,EAAAA,EAAAA,IAAM,OAAOH,EAAAA,EAAAA,IAAWkB,IAC5Bd,MAAK,SAACiB,GACL,IAAMC,EAAa,CACjBC,MAAOF,EAASE,MAChBC,MAAOH,EAASG,MAChBT,KAAMM,EAASN,KACfC,QAASK,EAASI,SAClBR,MAAOA,GAGT,MAAO,CACLrE,SAAUyE,EAASzE,SACnB0E,WAAYA,MAZX,OAeE,SAACI,GACNd,EAAAA,EAAAA,MAAA,+CAA+Dc,GAC7D,8BAIRC,YApDuB,SAoDXzD,EAA0BgC,EAAkC0B,GACtE,IAWMC,EAAqB,CACzBC,aAAc,CACZzE,KAAMa,EAAQb,KACda,QAASA,EAAQA,SAEnB6D,WAAY7D,EAAQ6D,aAGtB5B,EAAAA,EAAAA,IAAM,QAAQH,EAAAA,EAAAA,IAAWoB,EAAAA,EAAAA,uBAAAA,OAAwCF,KAAMW,GACpEzB,MACC,SAACiB,GAGC,OAFAnB,EAASmB,GAEFA,KAxBQ,SAACV,GACpB,IAAIqB,EAAerB,EAAME,QACnBoB,EAAYtB,EAAMuB,WAAWC,KAE/BF,GAAaA,EAAUpB,UACzBmB,EAAerB,EAAMuB,WAAWC,KAAKtB,SAGvCe,EAAYI,OAsBhBI,YAnFuB,SAmFXlE,EAAsBgC,GAChC,IAoBImC,EAREC,EAAiB,CACrB5E,GAAIQ,EAAQR,GACZQ,QAASA,EAAQA,QACjBb,KAAMa,EAAQb,KACdkF,aAAcrE,EAAQqE,cAGpBrB,EAAMrE,KAAKkD,IAGI,KAAf7B,EAAQR,GACV2E,EAAS,QAETnB,GAAO,IAAJ,OAAQhD,EAAQR,IACnB2E,EAAS,QAGXlC,EAAAA,EAAAA,IAAMkC,EAAQnB,EAAKoB,GAChBlC,MACC,SAACiB,GACCnB,IACA,IAAMsC,EAAwB,KAAftE,EAAQR,GAAY,UAAY,UACzCmD,EAAU,iBAAH,OAAoB3C,EAAQb,KAA5B,0BAAkDmF,GAI/D,OAFA5B,EAAAA,EAAAA,QAAyBC,GAElBQ,KAtCQ,SAACV,GACpB,IAAIqB,EAAerB,EAAME,QACnBoB,EAAYtB,EAAMuB,WAAWC,KAE/BF,GAAaA,EAAUpB,UACzBmB,EAAerB,EAAMuB,WAAWC,KAAKtB,SAGvCD,EAAAA,EAAAA,MAAA,gCAAgD1C,EAAQb,KAAxD,iCAAqF2E,GACnF,mCAmCNS,cAhIuB,SAgITvE,EAAsBgC,IAMlCC,EAAAA,EAAAA,IAAM,SAAD,UAActD,KAAKkD,IAAnB,YAA0B7B,EAAQR,KACpC0C,MACC,SAACiB,GAIC,OAHAnB,IACAU,EAAAA,EAAAA,QAAA,wBAA0C1C,EAAQb,KAAlD,2BAEOgE,KAXQ,SAACV,GACpBC,EAAAA,EAAAA,MAAA,iCAAiD1C,EAAQb,KAAzD,iCAAsFsD,EAAME,SAC1F,qCAeN6B,WAlJuB,SAkJZ9F,EAAkB+F,GAC3B,IAkBMC,GAAUC,EAAAA,EAAAA,IAAe,OAAD,UAAYhG,KAAKkD,IAAjB,4BAAwC4C,GAAkB/F,GAIxF,OAFAgG,EAAO,OApBc,SAACjC,GACpB,IAAIqB,EAAerB,EAAME,QACnBoB,EAAYtB,EAAMuB,WAAWC,KAEnC,GAAIF,GAAaA,EAAUa,mBAAqBb,EAAUa,kBAAkBC,EAAG,CAC7Ef,EAAe,GAIf,IAHA,IAAMgB,EAASf,EAAUa,kBAAkBC,EAGlCE,EAAI,EAAGC,EAAMF,EAAO3G,OAAQ4G,EAAIC,EAAKD,IAC5CjB,EAAeA,EAAamB,OAAOH,EAAOC,GAAGtC,OAIjDC,EAAAA,EAAAA,MAAA,0DAA0EoB,GACxE,mCAOGY,S,mFCvNTQ,E,MAA0B,GAA4B,KAE1DA,EAAwB3F,KAAK,CAAC4F,EAAO3F,GAAI,qcAAsc,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,kEAAkE,MAAQ,GAAG,SAAW,qNAAqN,eAAiB,CAAC,scAAsc,WAAa,MAE5xC0F,EAAwBE,OAAS,CAChC,WAAc,uBACd,gBAAmB,uBACnB,UAAa,uBACb,eAAkB,wBAEnB","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":""}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy