import {Fragment} from 'react'; import {browserHistory, RouteComponentProps} from 'react-router'; import AsyncView from 'sentry/views/asyncView'; import MonitorForm from './monitorForm'; import {Monitor} from './types'; type Props = AsyncView['props'] & RouteComponentProps<{monitorId: string; orgId: string}, {}>; type State = AsyncView['state'] & { monitor: Monitor | null; }; export default class EditMonitor extends AsyncView { getEndpoints(): ReturnType { const {params} = this.props; return [['monitor', `/monitors/${params.monitorId}/`]]; } onUpdate = (data: Monitor) => this.setState(state => ({monitor: {...state.monitor, ...data}})); onSubmitSuccess = (data: Monitor) => browserHistory.push(`/organizations/${this.props.params.orgId}/monitors/${data.id}/`); getTitle() { if (this.state.monitor) { return `${this.state.monitor.name} - Monitors - ${this.props.params.orgId}`; } return `Monitors - ${this.props.params.orgId}`; } renderBody() { const {monitor} = this.state; if (monitor === null) { return null; } return (

Edit Monitor

); } }