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

web-interface.assets.b6fe2bb5-7160.eb6c7e28e038e4d02b79.js.map Maven / Gradle / Ivy

{"version":3,"file":"b6fe2bb5-7160.eb6c7e28e038e4d02b79.js","mappings":"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","sources":["webpack://graylog-web-interface/./src/stores/outputs/OutputsStore.ts","webpack://graylog-web-interface/./src/components/outputs/EditOutputButton.jsx","webpack://graylog-web-interface/./src/components/outputs/Output.jsx","webpack://graylog-web-interface/./src/components/outputs/OutputList.jsx","webpack://graylog-web-interface/./src/components/outputs/CreateOutputDropdown.jsx","webpack://graylog-web-interface/./src/components/outputs/AssignOutputDropdown.jsx","webpack://graylog-web-interface/./src/components/outputs/OutputsComponent.jsx"],"sourcesContent":["/*\n * Copyright (C) 2020 Graylog, Inc.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the Server Side Public License, version 1,\n * as published by MongoDB, Inc.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * Server Side Public License for more details.\n *\n * You should have received a copy of the Server Side Public License\n * along with this program. If not, see\n * .\n */\nimport Reflux from 'reflux';\n\nimport fetch from 'logic/rest/FetchProvider';\nimport ApiRoutes from 'routing/ApiRoutes';\nimport * as URLUtils from 'util/URLUtils';\nimport UserNotification from 'util/UserNotification';\nimport { singletonStore } from 'logic/singleton';\n\ntype Output = {\n  id: string,\n  title: string,\n  type: string,\n};\n\n// eslint-disable-next-line import/prefer-default-export\nexport const OutputsStore = singletonStore(\n  'core.Outputs',\n  () => Reflux.createStore({\n    OUTPUTS_URL: URLUtils.qualifyUrl(ApiRoutes.OutputsApiController.index().url),\n\n    load(callback: (outputs: Array) => void) {\n      fetch('GET', this.OUTPUTS_URL)\n        .then(callback, this._failCallback);\n    },\n    loadForStreamId(streamId: string, callback: (outputs: Array) => void) {\n      const url = URLUtils.qualifyUrl(ApiRoutes.StreamOutputsApiController.index(streamId).url);\n\n      fetch('GET', url)\n        .then(callback, this._failCallback);\n    },\n    loadAvailableTypes(callback: (available: any) => void) {\n      const url = URLUtils.qualifyUrl(ApiRoutes.OutputsApiController.availableTypes().url);\n\n      fetch('GET', url)\n        .then(callback, this._failCallback);\n    },\n    loadAvailable(typeName: string, callback: (available: any) => void) {\n      const url = URLUtils.qualifyUrl(ApiRoutes.OutputsApiController.availableTypes().url);\n\n      fetch('GET', url)\n        .then((resp) => {\n          return resp.types[typeName];\n        }, this._failCallback)\n        .then(callback);\n    },\n    remove(outputId: string, callback: (error: any) => void) {\n      const url = URLUtils.qualifyUrl(ApiRoutes.OutputsApiController.delete(outputId).url);\n\n      fetch('DELETE', url)\n        .then(callback, (error) => {\n          UserNotification.error(`Terminating output failed with status: ${error}`,\n            'Could not terminate output');\n        });\n    },\n    save(output: any, callback: (output: Output) => void) {\n      const failCallback = (error) => {\n        UserNotification.error(`Saving Output \"${output.title}\" failed with status: ${error}`,\n          'Could not save Output');\n      };\n\n      const url = URLUtils.qualifyUrl(ApiRoutes.OutputsApiController.create().url);\n\n      fetch('POST', url, output)\n        .then(callback, failCallback);\n    },\n    update(output: Output, deltas: any, callback: (output: Output) => void) {\n      const failCallback = (error) => {\n        UserNotification.error(`Updating Output \"${output.title}\" failed with status: ${error}`,\n          'Could not update Output');\n      };\n\n      const url = URLUtils.qualifyUrl(ApiRoutes.OutputsApiController.update(output.id).url);\n\n      fetch('PUT', url, deltas)\n        .then(callback, failCallback);\n    },\n    _failCallback(error: string) {\n      UserNotification.error(`Loading outputs failed with status: ${error}`,\n        'Could not load outputs');\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';\n\nimport { Button } from 'components/bootstrap';\nimport { ConfigurationForm } from 'components/configurationforms';\n\nclass EditOutputButton extends React.Component {\n  static propTypes = {\n    output: PropTypes.object.isRequired,\n    disabled: PropTypes.bool,\n    getTypeDefinition: PropTypes.func.isRequired,\n    onUpdate: PropTypes.func,\n  };\n\n  static defaultProps = {\n    disabled: false,\n    onUpdate: () => {},\n  };\n\n  constructor(props) {\n    super(props);\n\n    this.state = {\n      typeDefinition: undefined,\n    };\n\n    this.handleClick = this.handleClick.bind(null, props.output);\n  }\n\n  handleClick = () => {\n    const { getTypeDefinition, output } = this.props;\n\n    getTypeDefinition(output.type, (definition) => {\n      this.setState({ typeDefinition: definition.requested_configuration });\n      this.configurationForm.open();\n    });\n  };\n\n  _handleSubmit = (data) => {\n    const { onUpdate, output } = this.props;\n\n    onUpdate(output, data);\n  };\n\n  render() {\n    const { typeDefinition } = this.state;\n    const { disabled, output } = this.props;\n    let configurationForm;\n\n    if (typeDefinition) {\n      configurationForm = (\n         { this.configurationForm = form; }}\n                           key={`configuration-form-output-${output.id}`}\n                           configFields={typeDefinition}\n                           title={`Editing Output ${output.title}`}\n                           typeName={output.type}\n                           helpBlock=\"Select a name of your new output that describes it.\"\n                           submitAction={this._handleSubmit}\n                           values={output.configuration}\n                           titleValue={output.title} />\n      );\n    }\n\n    return (\n      \n        \n        {configurationForm}\n      \n    );\n  }\n}\n\nexport default EditOutputButton;\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\nimport { Alert, Col, Row, Button } from 'components/bootstrap';\nimport { IfPermitted, Spinner, Icon } from 'components/common';\nimport EditOutputButton from 'components/outputs/EditOutputButton';\nimport { ConfigurationWell } from 'components/configurationforms';\n\nconst NodeRow = styled.div(({ theme }) => css`\n  border-bottom: 1px solid ${theme.colors.gray[80]};\n  padding-bottom: 8px;\n  margin-bottom: 8px;\n  margin-top: 0;\n\n  .hostname {\n    font-size: ${theme.fonts.size.small};\n  }\n\n  .well {\n    margin-bottom: 0;\n    margin-top: 3px;\n    font-family: ${theme.fonts.family.monospace};\n    font-size: ${theme.fonts.size.small};\n  }\n\n  .xtrc-converters {\n    margin-top: 10px;\n  }\n\n  .xtrc-config li {\n    margin-left: 10px;\n  }\n\n  .xtrc-converters li {\n    margin-left: 10px;\n  }\n\n  .xtrc-converter-config li {\n    margin-left: 20px;\n  }\n\n  .dropdown-menu a.selected {\n    font-weight: bold;\n  }\n`);\n\nconst NodeRowInfo = styled.div`\n  position: relative;\n  top: 2px;\n\n  form {\n    display: inline;\n  }\n\n  .text {\n    position: relative;\n    top: 3px;\n  }\n`;\n\nclass Output extends React.Component {\n  static propTypes = {\n    streamId: PropTypes.string,\n    output: PropTypes.object.isRequired,\n    types: PropTypes.object.isRequired,\n    getTypeDefinition: PropTypes.func.isRequired,\n    onUpdate: PropTypes.func,\n    removeOutputFromStream: PropTypes.func.isRequired,\n    removeOutputGlobally: PropTypes.func.isRequired,\n  };\n\n  static defaultProps = {\n    streamId: '',\n    onUpdate: () => {},\n  };\n\n  constructor(props) {\n    super(props);\n\n    this.state = {\n      typeDefinition: undefined,\n    };\n  }\n\n  componentDidMount() {\n    const { getTypeDefinition, output } = this.props;\n\n    if (!this._typeNotAvailable()) {\n      getTypeDefinition(output.type, (typeDefinition) => {\n        this.setState({ typeDefinition });\n      });\n    }\n  }\n\n  _onDeleteFromStream = () => {\n    const { removeOutputFromStream, output, streamId } = this.props;\n\n    removeOutputFromStream(output.id, streamId);\n  };\n\n  _onDeleteGlobally = () => {\n    const { removeOutputGlobally, output } = this.props;\n\n    removeOutputGlobally(output.id);\n  };\n\n  _typeNotAvailable = () => {\n    const { types, output } = this.props;\n\n    return (types[output.type] === undefined);\n  };\n\n  render() {\n    const { typeDefinition } = this.state;\n    const { onUpdate, getTypeDefinition } = this.props;\n\n    if (!this._typeNotAvailable() && !typeDefinition) {\n      return ;\n    }\n\n    const { output } = this.props;\n    const contentPack = (output.content_pack\n      ?  : null);\n\n    let alert;\n    let configurationWell;\n\n    if (this._typeNotAvailable()) {\n      alert = (\n        \n          The plugin required for this output is not loaded. Editing it is not possible. Please load the plugin or\n          delete the output.\n        \n      );\n    } else {\n      configurationWell = (\n        \n      );\n    }\n\n    const { streamId } = this.props;\n    let deleteFromStreamButton;\n\n    if (streamId) {\n      deleteFromStreamButton = (\n        \n          {' '}\n          \n        \n      );\n    } else {\n      deleteFromStreamButton = '';\n    }\n\n    return (\n      \n        \n          \n            \n              

\n {output.title} {contentPack}\n ID: {output.id}\n

\n Type: {output.type}\n \n \n \n \n \n \n {deleteFromStreamButton}\n \n {' '}\n \n \n \n \n
\n \n \n {alert}\n {configurationWell}\n \n \n \n
\n );\n }\n}\n\nexport default Output;\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 naturalSort from 'javascript-natural-sort';\n\nimport { Alert, Col, Row } from 'components/bootstrap';\nimport { Spinner } from 'components/common';\nimport Output from 'components/outputs/Output';\n\nclass OutputList extends React.Component {\n static propTypes = {\n streamId: PropTypes.string,\n outputs: PropTypes.array,\n onRemove: PropTypes.func.isRequired,\n onTerminate: PropTypes.func.isRequired,\n onUpdate: PropTypes.func.isRequired,\n getTypeDefinition: PropTypes.func.isRequired,\n types: PropTypes.object.isRequired,\n };\n\n _sortByTitle = (output1, output2) => {\n return naturalSort(output1.title.toLowerCase(), output2.title.toLowerCase());\n };\n\n _formatOutput = (output) => {\n return (\n \n );\n };\n\n render() {\n if (!this.props.outputs) {\n return ;\n }\n\n if (this.props.outputs.length === 0) {\n return (\n \n \n No outputs configured.\n \n \n );\n }\n\n const outputs = this.props.outputs.sort(this._sortByTitle).map(this._formatOutput);\n\n return
{outputs}
;\n }\n}\n\nexport default OutputList;\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 $ from 'jquery';\n\nimport { Button } from 'components/bootstrap';\nimport { ConfigurationForm } from 'components/configurationforms';\n\nclass CreateOutputDropdown extends React.Component {\n PLACEHOLDER = 'placeholder';\n\n componentDidMount() {\n this.loadData();\n }\n\n loadData = () => {\n };\n\n render() {\n const outputTypes = $.map(this.props.types, this._formatOutputType);\n\n return (\n
\n
\n \n  \n \n
\n\n { this.configurationForm = configurationForm; }}\n key=\"configuration-form-output\"\n configFields={this.state.typeDefinition}\n title=\"Create new Output\"\n helpBlock=\"Select a name of your new output that describes it.\"\n typeName={this.state.typeName}\n submitAction={this.props.onSubmit} />\n
\n );\n }\n\n _openModal = (evt) => {\n if (this.state.typeName !== this.PLACEHOLDER && this.state.typeName !== '') {\n this.configurationForm.open();\n }\n };\n\n _formatOutputType = (type, typeName) => {\n return ();\n };\n\n _onTypeChange = (evt) => {\n const outputType = evt.target.value;\n\n this.setState({ typeName: evt.target.value });\n\n this.props.getTypeDefinition(outputType, (definition) => {\n this.setState({ typeDefinition: definition.requested_configuration });\n });\n };\n\n state = {\n typeDefinition: [],\n typeName: this.PLACEHOLDER,\n };\n}\n\nexport default CreateOutputDropdown;\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 } from 'components/bootstrap';\n\nclass AssignOutputDropdown extends React.Component {\n PLACEHOLDER = 'placeholder';\n\n static propTypes = {\n outputs: PropTypes.array.isRequired,\n onSubmit: PropTypes.func.isRequired,\n };\n\n state = {\n selectedOutput: this.PLACEHOLDER,\n };\n\n _formatOutput = (output) => {\n return ;\n };\n\n _handleUpdate = (evt) => {\n this.setState({ selectedOutput: evt.target.value });\n };\n\n _handleClick = () => {\n const { onSubmit } = this.props;\n const { selectedOutput } = this.state;\n\n onSubmit(selectedOutput);\n this.setState({ selectedOutput: this.PLACEHOLDER });\n };\n\n render() {\n const { outputs } = this.props;\n const { selectedOutput } = this.state;\n const outputList = (outputs.length > 0\n ? outputs.map(this._formatOutput)\n : );\n\n return (\n
\n
\n \n  \n \n
\n
\n );\n }\n}\n\nexport default AssignOutputDropdown;\n","/*\n * Copyright (C) 2020 Graylog, Inc.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the Server Side Public License, version 1,\n * as published by MongoDB, Inc.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * Server Side Public License for more details.\n *\n * You should have received a copy of the Server Side Public License\n * along with this program. If not, see\n * .\n */\nimport React from 'react';\nimport createReactClass from 'create-react-class';\n\nimport { Row, Col } from 'components/bootstrap';\nimport UserNotification from 'util/UserNotification';\nimport PermissionsMixin from 'util/PermissionsMixin';\nimport Spinner from 'components/common/Spinner';\nimport StreamsStore from 'stores/streams/StreamsStore';\nimport { OutputsStore } from 'stores/outputs/OutputsStore';\n\nimport OutputList from './OutputList';\nimport CreateOutputDropdown from './CreateOutputDropdown';\nimport AssignOutputDropdown from './AssignOutputDropdown';\n\nconst OutputsComponent = createReactClass({\n displayName: 'OutputsComponent',\n mixins: [PermissionsMixin],\n\n componentDidMount() {\n this.loadData();\n },\n\n loadData() {\n const callback = (resp) => {\n this.setState({\n outputs: resp.outputs,\n });\n\n if (this.props.streamId) {\n this._fetchAssignableOutputs(resp.outputs);\n }\n };\n\n if (this.props.streamId) {\n OutputsStore.loadForStreamId(this.props.streamId, callback);\n } else {\n OutputsStore.load(callback);\n }\n\n OutputsStore.loadAvailableTypes((resp) => {\n this.setState({ types: resp.types });\n });\n },\n\n getInitialState() {\n return {\n };\n },\n\n _handleUpdate() {\n this.loadData();\n },\n\n _handleCreateOutput(data) {\n OutputsStore.save(data, (result) => {\n this.setState({ typeName: 'placeholder' });\n\n if (this.props.streamId) {\n StreamsStore.addOutput(this.props.streamId, result.id, (response) => {\n this._handleUpdate();\n\n return response;\n });\n } else {\n this._handleUpdate();\n }\n\n return result;\n });\n },\n\n _fetchAssignableOutputs(outputs) {\n OutputsStore.load((resp) => {\n const streamOutputIds = outputs.map((output) => { return output.id; });\n const assignableOutputs = resp.outputs\n .filter((output) => { return streamOutputIds.indexOf(output.id) === -1; })\n .sort((output1, output2) => { return output1.title.localeCompare(output2.title); });\n\n this.setState({ assignableOutputs: assignableOutputs });\n });\n },\n\n _handleAssignOutput(outputId) {\n StreamsStore.addOutput(this.props.streamId, outputId, (response) => {\n this._handleUpdate();\n\n return response;\n });\n },\n\n _removeOutputGlobally(outputId) {\n if (window.confirm('Do you really want to terminate this output?')) {\n OutputsStore.remove(outputId, (response) => {\n UserNotification.success('Output was terminated.', 'Success');\n this._handleUpdate();\n\n return response;\n });\n }\n },\n\n _removeOutputFromStream(outputId, streamId) {\n if (window.confirm('Do you really want to remove this output from the stream?')) {\n StreamsStore.removeOutput(streamId, outputId, (response) => {\n UserNotification.success('Output was removed from stream.', 'Success');\n this._handleUpdate();\n\n return response;\n });\n }\n },\n\n _handleOutputUpdate(output, deltas) {\n OutputsStore.update(output, deltas, () => {\n this._handleUpdate();\n });\n },\n\n render() {\n if (this.state.outputs && this.state.types && (!this.props.streamId || this.state.assignableOutputs)) {\n const { permissions } = this.props;\n const { streamId } = this.props;\n const createOutputDropdown = (this.isPermitted(permissions, ['outputs:create'])\n ? (\n \n ) : null);\n const assignOutputDropdown = (streamId\n ? (\n \n ) : null);\n\n return (\n
\n \n \n {createOutputDropdown}\n \n \n {assignOutputDropdown}\n \n \n\n \n
\n );\n }\n\n return ;\n },\n});\nexport default OutputsComponent;\n"],"names":["OutputsStore","singletonStore","Reflux","OUTPUTS_URL","URLUtils","ApiRoutes","url","load","callback","fetch","this","then","_failCallback","loadForStreamId","streamId","loadAvailableTypes","loadAvailable","typeName","resp","types","remove","outputId","error","UserNotification","save","output","title","update","deltas","id","EditOutputButton","props","getTypeDefinition","type","definition","setState","typeDefinition","requested_configuration","configurationForm","open","data","onUpdate","state","undefined","handleClick","bind","disabled","ref","form","key","configFields","helpBlock","submitAction","_handleSubmit","values","configuration","titleValue","bsStyle","onClick","React","PropTypes","NodeRow","styled","theme","css","colors","gray","fonts","size","small","family","monospace","NodeRowInfo","Output","removeOutputFromStream","removeOutputGlobally","_typeNotAvailable","alert","configurationWell","deleteFromStreamButton","contentPack","content_pack","name","permissions","_onDeleteFromStream","className","md","_onDeleteGlobally","OutputList","output1","output2","naturalSort","toLowerCase","onRemove","onTerminate","outputs","length","sort","_sortByTitle","map","_formatOutput","CreateOutputDropdown","evt","PLACEHOLDER","value","outputType","target","loadData","outputTypes","$","_formatOutputType","defaultValue","onChange","_onTypeChange","_openModal","onSubmit","AssignOutputDropdown","selectedOutput","outputList","_handleUpdate","_handleClick","createReactClass","displayName","mixins","PermissionsMixin","componentDidMount","_fetchAssignableOutputs","getInitialState","_handleCreateOutput","result","StreamsStore","response","streamOutputIds","assignableOutputs","filter","indexOf","localeCompare","_handleAssignOutput","_removeOutputGlobally","window","confirm","_removeOutputFromStream","_handleOutputUpdate","render","createOutputDropdown","isPermitted","assignOutputDropdown","Spinner"],"sourceRoot":""}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy