Please wait. This can take some minutes ...
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.
web-interface.assets.9d1739ed-6366.ae5aa5ba950de17b145f.js.map Maven / Gradle / Ivy
{"version":3,"file":"9d1739ed-6366.ae5aa5ba950de17b145f.js","mappings":"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","sources":["webpack://graylog-web-interface/./src/components/event-notifications/event-notification-form/EventNotificationForm.jsx","webpack://graylog-web-interface/./src/components/event-notifications/event-notification-form/EventNotificationFormContainer.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 React from 'react';\nimport PropTypes from 'prop-types';\nimport lodash from 'lodash';\nimport { PluginStore } from 'graylog-web-plugin/plugin';\n\nimport { Select, Spinner } from 'components/common';\nimport { Alert, Button, ButtonToolbar, Col, ControlLabel, FormControl, FormGroup, HelpBlock, Row, Input } from 'components/bootstrap';\nimport { getValueFromInput } from 'util/FormsUtils';\n\nconst getNotificationPlugin = (type) => {\n if (type === undefined) {\n return {};\n }\n\n return PluginStore.exports('eventNotificationTypes').find((n) => n.type === type) || {};\n};\n\nconst formattedEventNotificationTypes = () => {\n return PluginStore.exports('eventNotificationTypes')\n .map((type) => ({ label: type.displayName, value: type.type }));\n};\n\nclass EventNotificationForm extends React.Component {\n static propTypes = {\n action: PropTypes.oneOf(['create', 'edit']),\n notification: PropTypes.object.isRequired,\n validation: PropTypes.object.isRequired,\n testResult: PropTypes.shape({\n isLoading: PropTypes.bool,\n error: PropTypes.bool,\n message: PropTypes.string,\n }).isRequired,\n formId: PropTypes.string,\n embedded: PropTypes.bool.isRequired,\n onChange: PropTypes.func.isRequired,\n onCancel: PropTypes.func.isRequired,\n onSubmit: PropTypes.func.isRequired,\n onTest: PropTypes.func.isRequired,\n };\n\n static defaultProps = {\n action: 'edit',\n formId: undefined,\n };\n\n constructor(props) {\n super(props);\n\n this.state = {\n isSubmitEnabled: true,\n };\n }\n\n setIsSubmitEnabled = (enabled) => {\n this.setState({ isSubmitEnabled: enabled });\n };\n\n handleSubmit = (event) => {\n const { notification, onSubmit } = this.props;\n\n event.preventDefault();\n\n onSubmit(notification);\n };\n\n handleChange = (event) => {\n const { name } = event.target;\n const { onChange } = this.props;\n\n onChange(name, getValueFromInput(event.target));\n };\n\n handleConfigChange = (nextConfig) => {\n const { onChange } = this.props;\n\n onChange('config', nextConfig);\n };\n\n handleTypeChange = (nextType) => {\n const notificationPlugin = getNotificationPlugin(nextType);\n const defaultConfig = notificationPlugin.defaultConfig || {};\n\n this.handleConfigChange({ ...defaultConfig, type: nextType });\n };\n\n handleTestTrigger = () => {\n const { notification, onTest } = this.props;\n\n onTest(notification);\n };\n\n render() {\n const { action, embedded, formId, notification, onCancel, validation, testResult } = this.props;\n const { isSubmitEnabled } = this.state;\n\n const notificationPlugin = getNotificationPlugin(notification.config.type);\n const notificationFormComponent = notificationPlugin.formComponent\n ? React.createElement(notificationPlugin.formComponent, {\n config: notification.config,\n onChange: this.handleConfigChange,\n validation: validation,\n setIsSubmitEnabled: this.setIsSubmitEnabled,\n })\n : null;\n\n const testButtonText = testResult.isLoading ? : 'Execute Test Notification';\n\n return (\n \n \n \n \n
\n );\n }\n}\n\nexport default EventNotificationForm;\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 lodash from 'lodash';\n\nimport { ConfirmLeaveDialog } from 'components/common';\nimport history from 'util/History';\nimport Routes from 'routing/Routes';\nimport { EventNotificationsActions } from 'stores/event-notifications/EventNotificationsStore';\n\nimport EventNotificationForm from './EventNotificationForm';\n\n// Import built-in Event Notification Types\n\nimport {} from '../event-notification-types';\n\nconst initialValidation = {\n errors: {},\n};\n\nconst initialTestResult = {\n isLoading: false,\n};\n\nclass EventNotificationFormContainer extends React.Component {\n static propTypes = {\n action: PropTypes.oneOf(['create', 'edit']),\n notification: PropTypes.object,\n /** Controls whether the form should be embedded into another one, and submitted/cancel externally */\n embedded: PropTypes.bool,\n /** Controls the ID of the form, so it can be controlled externally */\n formId: PropTypes.string,\n onSubmit: PropTypes.func,\n };\n\n static defaultProps = {\n action: 'edit',\n notification: {\n title: '',\n description: '',\n config: {},\n },\n embedded: false,\n formId: undefined,\n onSubmit: () => {},\n };\n\n constructor(props) {\n super(props);\n\n this.state = {\n notification: props.notification,\n validation: initialValidation,\n testResult: initialTestResult,\n isDirty: false,\n };\n }\n\n componentWillUnmount() {\n // Test request may take a while to return a result, cancel the promise before leaving the page.\n if (this.testPromise) {\n this.testPromise.cancel();\n }\n }\n\n handleChange = (key, value) => {\n const { notification } = this.state;\n const nextNotification = lodash.cloneDeep(notification);\n\n nextNotification[key] = value;\n this.setState({ notification: nextNotification, isDirty: true, testResult: initialTestResult });\n };\n\n handleCancel = () => {\n history.push(Routes.ALERTS.NOTIFICATIONS.LIST);\n };\n\n handleSubmit = () => {\n const { action, embedded, onSubmit } = this.props;\n const { notification } = this.state;\n\n let promise;\n\n if (action === 'create') {\n promise = EventNotificationsActions.create(notification);\n\n promise.then(\n () => {\n this.setState({ isDirty: false }, () => {\n if (!embedded) {\n history.push(Routes.ALERTS.NOTIFICATIONS.LIST);\n }\n });\n },\n (errorResponse) => {\n const { body } = errorResponse.additional;\n\n if (errorResponse.status === 400 && body && body.failed) {\n this.setState({ validation: body });\n }\n },\n );\n } else {\n promise = EventNotificationsActions.update(notification.id, notification);\n\n promise.then(\n () => {\n this.setState({ isDirty: false }, () => {\n if (!embedded) {\n history.push(Routes.ALERTS.NOTIFICATIONS.LIST);\n }\n });\n },\n (errorResponse) => {\n const { body } = errorResponse.additional;\n\n if (errorResponse.status === 400 && body && body.failed) {\n this.setState({ validation: body });\n }\n },\n );\n }\n\n onSubmit(promise);\n };\n\n handleTest = () => {\n const { notification } = this.state;\n\n this.setState({ testResult: { isLoading: true }, validation: initialValidation });\n const testResult = lodash.clone(initialTestResult);\n\n this.testPromise = EventNotificationsActions.test(notification);\n\n this.testPromise\n .then(\n (response) => {\n testResult.error = false;\n testResult.message = 'Notification was executed successfully.';\n\n return response;\n },\n (errorResponse) => {\n testResult.error = true;\n const { body } = errorResponse.additional;\n\n if (errorResponse.status === 400 && body && body.failed) {\n testResult.message = 'Validation failed, please correct any errors in the form before continuing.';\n this.setState({ validation: body });\n } else {\n testResult.message = errorResponse.responseMessage || 'Unknown error, please check your Graylog server logs.';\n }\n },\n )\n .finally(() => {\n this.setState({ testResult: testResult });\n this.testPromise = undefined;\n });\n };\n\n render() {\n const { action, embedded, formId } = this.props;\n const { notification, validation, testResult, isDirty } = this.state;\n\n return (\n <>\n {!embedded && isDirty && (\n \n )}\n \n >\n );\n }\n}\n\nexport default EventNotificationFormContainer;\n"],"names":["getNotificationPlugin","type","undefined","PluginStore","find","n","EventNotificationForm","props","enabled","setState","isSubmitEnabled","event","notification","onSubmit","preventDefault","name","target","onChange","getValueFromInput","nextConfig","nextType","defaultConfig","handleConfigChange","onTest","state","this","action","embedded","formId","onCancel","validation","testResult","notificationPlugin","config","notificationFormComponent","formComponent","React","setIsSubmitEnabled","testButtonText","isLoading","text","md","handleSubmit","id","label","bsStyle","errors","title","help","lodash","value","handleChange","required","className","description","rows","controlId","validationState","options","map","displayName","handleTypeChange","clearable","bsSize","disabled","onClick","handleTestTrigger","message","error","PropTypes","isRequired","initialValidation","initialTestResult","EventNotificationFormContainer","key","nextNotification","isDirty","history","Routes","promise","EventNotificationsActions","then","errorResponse","body","additional","status","failed","testPromise","response","responseMessage","cancel","question","handleCancel","handleTest"],"sourceRoot":""}