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

web-interface.assets.0c1a66a2-46.1ec71fc30880f2142b45.js.map Maven / Gradle / Ivy

There is a newer version: 6.0.5
Show newest version
{"version":3,"sources":["webpack:///./src/components/enterprise/PluginList.css","webpack:///./src/util/EventHandlersThrottler.js","webpack:///./src/components/cluster/TrafficGraph.jsx","webpack:///./src/components/cluster/GraylogClusterOverview.jsx","webpack:///./src/components/cluster/index.js","webpack:///./src/components/enterprise/EnterpriseFreeLicenseForm.jsx","webpack:///./src/components/enterprise/PluginList.jsx","webpack:///./src/pages/EnterprisePage.jsx","webpack:///./src/components/enterprise/PluginList.css?4f83"],"names":["exports","module","push","i","locals","EventHandlersThrottler","this","eventMutex","eventHandler","timeout","setTimeout","TrafficGraph","width","traffic","dailySums","crossfilter","_","map","value","key","ts","bytes","dimension","d","moment","format","group","reduceSum","t","mapKeys","all","entry","utc","unix","unixTraffic","mapValues","val","chartData","type","x","Object","keys","y","values","style","height","GenericPlot","layout","showlegend","margin","l","xaxis","title","text","yaxis","rangemode","tickformat","propTypes","PropTypes","object","isRequired","number","ClusterTrafficStore","StoreProvider","getStore","ClusterTrafficActions","ActionsProvider","getActions","NodesStore","GraylogClusterOverview","createReactClass","displayName","oneOf","children","node","mixins","Reflux","connect","getDefaultProps","getInitialState","graphWidth","componentDidMount","window","addEventListener","_onResize","_resizeGraphs","componentWillUnmount","removeEventListener","eventThrottler","throttle","domNode","ReactDOM","findDOMNode","_container","setState","clientWidth","renderClusterInfo","nodes","state","content","className","marginBottom","clusterId","nodeCount","renderTrafficGraph","sumOutput","trafficGraph","bytesOut","reduce","output","result","NumberUtils","formatBytes","from","to","ref","container","renderHeader","renderDefaultLayout","props","md","renderCompactLayout","render","FORM_FIELDS","EnterpriseFreeLicenseForm","callback","clearedFields","acc","assign","formFields","event","newFormFields","target","isSubmitting","lodash","isEmpty","filter","trim","preventDefault","onSubmit","success","clearValues","firstName","lastName","email","company","submitForm","id","label","required","onChange","handleInput","placeholder","sm","disabled","formIsInvalid","bsSize","bsStyle","onClick","resetForm","React","Component","func","PluginList","ENTERPRISE_PLUGINS","_formatPlugin","pluginName","plugin","PluginStore","get","p","metadata","name","enterprisePluginList","enterprisePlugins","CombinedProvider","EnterpriseActions","EnterpriseStore","EnterpriseProductLink","href","rel","defaultProps","EnterpriseFeatureList","styled","ul","BiggerFontSize","div","GraylogEnterpriseHeader","h2","EnterprisePage","getLicenseInfo","onFreeLicenseFormSubmit","requestFreeEnterpriseLicense","then","_isLoading","licenseStatus","renderLicenseFormContent","permissions","DocumentationLink","page","options","transform","undefined"],"mappings":"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","file":"0c1a66a2-46.1ec71fc30880f2142b45.js","sourcesContent":["exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".AR0-U4tixQDL1wBRuPHtT{margin-left:0;padding-left:0}\", \"\"]);\n\n// exports\nexports.locals = {\n\t\"enterprisePlugins\": \"AR0-U4tixQDL1wBRuPHtT\"\n};","const DEFAULT_TIMEOUT = 1000 / 10; // 10 fps\n\n/**\n * Use when an event handler should be called after a timeout, instead of every time the event is triggered.\n * This is specially useful for handling window resize callbacks that may be expensive.\n */\nclass EventHandlersThrottler {\n  constructor() {\n    this.eventMutex = null;\n  }\n\n  /**\n   * @param eventHandler Callback actually handling the event\n   * @param timeout (optional) Time to wait before calling the callback\n   */\n  throttle(eventHandler, timeout) {\n    if (this.eventMutex) {\n      return;\n    }\n\n    this.eventMutex = setTimeout(() => {\n      this.eventMutex = null;\n      eventHandler();\n    }, timeout || DEFAULT_TIMEOUT);\n  }\n}\n\nexport default EventHandlersThrottler;\n","// @flow strict\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport _ from 'lodash';\nimport moment from 'moment';\nimport crossfilter from 'crossfilter';\n\nimport { Spinner } from 'components/common';\nimport GenericPlot from 'views/components/visualizations/GenericPlot';\n\ntype Props = {\n  traffic: { [string]: number },\n  width: number,\n};\n\nconst TrafficGraph = ({ width, traffic }: Props) => {\n  if (!traffic) {\n    return ;\n  }\n\n  const ndx = crossfilter(_.map(traffic, (value, key) => ({ ts: key, bytes: value })));\n  const dailyTraffic = ndx.dimension((d) => moment(d.ts).format('YYYY-MM-DD'));\n\n  const dailySums = dailyTraffic.group().reduceSum((d) => d.bytes);\n  const t = _.mapKeys(dailySums.all(), (entry) => moment.utc(entry.key, 'YYYY-MM-DD').unix() * 1000);\n  const unixTraffic = _.mapValues(t, (val) => val.value);\n  const chartData = [{\n    type: 'bar',\n    x: Object.keys(unixTraffic),\n    y: Object.values(unixTraffic),\n  }];\n  const layout = {\n    showlegend: false,\n    margin: {\n      l: 60,\n    },\n    xaxis: {\n      type: 'date',\n      title: {\n        text: 'Time',\n      },\n    },\n    yaxis: {\n      title: {\n        text: 'Bytes',\n      },\n      rangemode: 'tozero',\n      tickformat: 's',\n    },\n  };\n\n  return (\n    
\n \n
\n );\n};\n\nTrafficGraph.propTypes = {\n traffic: PropTypes.object.isRequired, // traffic is: {\"2017-11-15T15:00:00.000Z\": 68287229, ...}\n width: PropTypes.number.isRequired,\n};\n\nexport default TrafficGraph;\n","/* eslint-disable react/no-find-dom-node */\n/* global window */\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport createReactClass from 'create-react-class';\nimport ReactDOM from 'react-dom';\nimport Reflux from 'reflux';\nimport { Col, Row } from 'components/graylog';\n\nimport { Spinner } from 'components/common';\nimport StoreProvider from 'injection/StoreProvider';\nimport ActionsProvider from 'injection/ActionsProvider';\nimport NumberUtils from 'util/NumberUtils';\nimport _ from 'lodash';\nimport EventHandlersThrottler from 'util/EventHandlersThrottler';\n\nimport TrafficGraph from './TrafficGraph';\n\nconst ClusterTrafficStore = StoreProvider.getStore('ClusterTraffic');\nconst ClusterTrafficActions = ActionsProvider.getActions('ClusterTraffic');\nconst NodesStore = StoreProvider.getStore('Nodes');\n\nconst GraylogClusterOverview = createReactClass({\n displayName: 'GraylogClusterOverview',\n\n propTypes: {\n layout: PropTypes.oneOf(['default', 'compact']),\n children: PropTypes.node,\n },\n\n mixins: [Reflux.connect(NodesStore, 'nodes'), Reflux.connect(ClusterTrafficStore, 'traffic')],\n\n getDefaultProps() {\n return {\n layout: 'default',\n children: null,\n };\n },\n\n getInitialState() {\n return {\n graphWidth: 600,\n };\n },\n\n componentDidMount() {\n ClusterTrafficActions.traffic();\n window.addEventListener('resize', this._onResize);\n this._resizeGraphs();\n },\n\n componentWillUnmount() {\n window.removeEventListener('resize', this._onResize);\n },\n\n eventThrottler: new EventHandlersThrottler(),\n\n _onResize() {\n this.eventThrottler.throttle(() => this._resizeGraphs());\n },\n\n _resizeGraphs() {\n const domNode = ReactDOM.findDOMNode(this._container);\n this.setState({ graphWidth: domNode.clientWidth });\n },\n\n renderClusterInfo() {\n const { nodes } = this.state;\n\n let content = ;\n if (nodes) {\n content = (\n
\n
Cluster ID:
\n
{nodes.clusterId || 'Not available'}
\n
Number of nodes:
\n
{nodes.nodeCount}
\n
\n );\n }\n\n return content;\n },\n\n renderTrafficGraph() {\n const { traffic, graphWidth } = this.state;\n\n let sumOutput = null;\n let trafficGraph = ;\n if (traffic) {\n const bytesOut = _.reduce(traffic.output, (result, value) => result + value);\n sumOutput = Last 30 days: {NumberUtils.formatBytes(bytesOut)};\n\n trafficGraph = (\n \n );\n }\n\n return (\n <>\n

{ this._container = container; }} style={{ marginBottom: 10 }}>Outgoing traffic {sumOutput}

\n {trafficGraph}\n \n );\n },\n\n renderHeader() {\n return

Graylog cluster

;\n },\n\n renderDefaultLayout() {\n const { children } = this.props;\n\n return (\n \n \n {this.renderHeader()}\n {this.renderClusterInfo()}\n
\n {children}\n \n \n {this.renderTrafficGraph()}\n \n \n \n
\n );\n },\n\n renderCompactLayout() {\n const { children } = this.props;\n\n return (\n \n \n {this.renderHeader()}\n \n \n {this.renderClusterInfo()}\n
\n {children}\n \n \n {this.renderTrafficGraph()}\n \n
\n \n
\n );\n },\n\n render() {\n const { layout } = this.props;\n\n switch (layout) {\n case 'compact':\n return this.renderCompactLayout();\n default:\n return this.renderDefaultLayout();\n }\n },\n});\n\nexport default GraylogClusterOverview;\n","export { default as GraylogClusterOverview } from './GraylogClusterOverview';\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { Button, ButtonToolbar, Col, Row } from 'components/graylog';\nimport { Input } from 'components/bootstrap';\nimport lodash from 'lodash';\n\nconst FORM_FIELDS = ['firstName', 'lastName', 'email', 'company'];\n\nexport default class EnterpriseFreeLicenseForm extends React.Component {\n static propTypes = {\n onSubmit: PropTypes.func.isRequired,\n };\n\n constructor(props) {\n super(props);\n this.state = {\n formFields: {\n firstName: '',\n lastName: '',\n email: '',\n company: '',\n },\n isSubmitting: false,\n };\n }\n\n clearValues = (callback) => {\n const clearedFields = FORM_FIELDS.reduce((acc, key) => Object.assign(acc, { [key]: '' }), {});\n this.setState({ formFields: clearedFields }, callback);\n };\n\n handleInput = (key) => {\n return (event) => {\n const { formFields } = this.state;\n const newFormFields = Object.assign(formFields, { [key]: event.target.value });\n this.setState({ formFields: newFormFields });\n };\n };\n\n formIsInvalid = () => {\n const { isSubmitting, formFields } = this.state;\n\n return isSubmitting || !lodash.isEmpty(FORM_FIELDS.filter((key) => lodash.isEmpty(lodash.trim(formFields[key]))));\n };\n\n submitForm = (event) => {\n event.preventDefault();\n\n const { onSubmit } = this.props;\n const { formFields } = this.state;\n\n // First set \"submitting\" status to make sure we disable the submit button (avoid double-click)\n this.setState({ isSubmitting: true }, () => {\n onSubmit(formFields, (success) => {\n if (success) {\n // Clear form before unsetting \"submitting\" status, again, to avoid double-click\n this.clearValues(() => {\n this.setState({ isSubmitting: false });\n });\n } else {\n this.setState({ isSubmitting: false });\n }\n });\n });\n };\n\n resetForm = () => {\n this.clearValues();\n };\n\n render() {\n const { formFields: { firstName, lastName, company, email } } = this.state;\n\n return (\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n );\n }\n}\n","import React from 'react';\nimport createReactClass from 'create-react-class';\n\nimport { Icon } from 'components/common';\nimport { PluginStore } from 'graylog-web-plugin/plugin';\nimport style from './PluginList.css';\n\nconst PluginList = createReactClass({\n displayName: 'PluginList',\n\n ENTERPRISE_PLUGINS: {\n 'graylog-plugin-enterprise': 'Graylog Plugin Enterprise',\n },\n\n _formatPlugin(pluginName) {\n const plugin = PluginStore.get().filter((p) => p.metadata.name === pluginName)[0];\n return (\n
  • \n  \n {this.ENTERPRISE_PLUGINS[pluginName]} is {plugin ? 'installed' : 'not installed'}\n
  • \n );\n },\n\n render() {\n const enterprisePluginList = Object.keys(this.ENTERPRISE_PLUGINS).map((pluginName) => this._formatPlugin(pluginName));\n\n return (\n <>\n

    This is the status of Graylog Enterprise modules in this cluster:

    \n
      \n {enterprisePluginList}\n
    \n \n );\n },\n});\n\nexport default PluginList;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport createReactClass from 'create-react-class';\nimport Reflux from 'reflux';\nimport styled from 'styled-components';\n\nimport { DocumentTitle, IfPermitted, PageHeader, Spinner } from 'components/common';\nimport { Alert, Col, Row } from 'components/graylog';\nimport { GraylogClusterOverview } from 'components/cluster';\nimport DocumentationLink from 'components/support/DocumentationLink';\nimport EnterpriseFreeLicenseForm from 'components/enterprise/EnterpriseFreeLicenseForm';\nimport PluginList from 'components/enterprise/PluginList';\n\nimport CombinedProvider from 'injection/CombinedProvider';\n\nconst { EnterpriseActions, EnterpriseStore } = CombinedProvider.get('Enterprise');\n\nconst EnterpriseProductLink = ({ children }) => {\n return (\n \n {children}\n \n );\n};\n\nEnterpriseProductLink.propTypes = {\n children: PropTypes.node,\n};\nEnterpriseProductLink.defaultProps = {\n children: null,\n};\n\nconst EnterpriseFeatureList = styled.ul`\nlist-style-type: disc;\npadding-left: 20px;\n`;\n\nconst BiggerFontSize = styled.div`\nfont-size: 1.2em;\n`;\n\nconst GraylogEnterpriseHeader = styled.h2`\nmargin-bottom: 10px\n`;\n\nconst EnterprisePage = createReactClass({\n displayName: 'EnterprisePage',\n mixins: [Reflux.connect(EnterpriseStore)],\n\n componentDidMount() {\n EnterpriseActions.getLicenseInfo();\n },\n\n onFreeLicenseFormSubmit(formFields, callback) {\n EnterpriseActions.requestFreeEnterpriseLicense(formFields)\n .then(() => callback(true))\n .catch(() => callback(false));\n },\n\n _isLoading() {\n const { licenseStatus } = this.state;\n return !licenseStatus;\n },\n\n renderLicenseFormContent(licenseStatus) {\n let licenseFormContent;\n if (this._isLoading()) {\n licenseFormContent = ;\n } else if (licenseStatus === 'installed') {\n licenseFormContent = (\n \n You have a Graylog Enterprise license installed.\n \n );\n } else if (licenseStatus === 'staged') {\n licenseFormContent = (\n \n You requested a free Graylog Enterprise license. It will be activated once you restart the Graylog\n server with the Graylog Enterprise plugins installed.\n \n );\n } else {\n licenseFormContent = ;\n }\n\n return licenseFormContent;\n },\n\n render() {\n const { licenseStatus } = this.state;\n\n return (\n \n
    \n \n {null}\n\n \n Graylog Enterprise adds commercial functionality to the Open Source Graylog core. You can learn more\n about Graylog Enterprise on the product page.\n \n \n\n \n \n \n \n \n \n Graylog Enterprise\n \n

    Extend Graylog’s Open Source capabilities with a free trial of Graylog Enterprise for 30 days.

    \n

    \n Graylog Enterprise introduces productivity and compliance features designed to help organizations\n reduce risk while encouraging collaboration across a large number of users.\n

    \n\n

    Graylog Enterprise includes:

    \n\n \n
  • Automated archiving} /> and retention
  • \n
  • Audit logs} /> of Graylog user activity
  • \n
  • \n Alerts with dynamic lists} /> and correlation engine} /> for events\n to minimize the number of alerts that you need to create and maintain\n
  • \n
  • \n Customizable scheduled reporting} /> using dashboard widgets for sharing analysis outside Graylog\n
  • \n
  • Parameterized search templates} /> enable you to\n combine and reuse queries\n
  • \n
  • Data forwarder} /> to easily combine data from\n multiple Graylog instances\n
  • \n
  • And more...
  • \n
    \n
    \n \n \n {this.renderLicenseFormContent(licenseStatus)}\n \n
    \n
    \n
    \n
    \n );\n },\n});\n\nexport default EnterprisePage;\n","\nvar content = require(\"!!../../../node_modules/css-loader/index.js??ref--10-1!./PluginList.css\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../node_modules/css-loader/index.js??ref--10-1!./PluginList.css\", function() {\n\t\tvar newContent = require(\"!!../../../node_modules/css-loader/index.js??ref--10-1!./PluginList.css\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}"],"sourceRoot":""}




    © 2015 - 2024 Weber Informatics LLC | Privacy Policy