@bigfishtv/cockpit
Version:
68 lines (59 loc) • 1.89 kB
JavaScript
import React, { Component } from 'react'
import { withFormValue } from '@bigfishtv/react-forms'
import { connect } from 'react-redux'
import MainContent from '../container/MainContent'
import Bulkhead from '../page/Bulkhead'
import Button from '../button/Button'
import Panel from '../container/panel/Panel'
import Breadcrumb from '../breadcrumb/Breadcrumb'
import EditForm from '../form/EditForm'
import RedirectEditFieldset from './RedirectEditFieldset'
import { notifySuccess, notifyFailure } from '../../actions/notifications'
/**
* Redirect edit page template
*/
()
export default class RedirectEdit extends Component {
getSubmitUrl(data) {
if (data.id) {
return '/tank/redirects/edit/' + data.id + '.json'
} else {
return '/tank/redirects/add.json'
}
}
handleSubmitSuccess = data => {
this.props.dispatch(notifySuccess('The redirect has been saved.'))
history.replaceState(null, null, '/tank/redirects/edit/' + data.id)
}
handleSubmitError = () => {
this.props.dispatch(notifyFailure('The redirect could not be saved.'))
}
render() {
return (
<MainContent>
<EditForm
{...this.props}
submitUrl={this.getSubmitUrl}
onSubmitSuccess={this.handleSubmitSuccess}
onSubmitError={this.handleSubmitError}
Header={withFormValue(props => (
<Bulkhead
title={props.formValue.value.id ? 'Edit Redirect' : 'New Redirect'}
Toolbar={props => <Button type="submit" text="Save" style="secondary" size="large" />}
/>
))}>
<RedirectEditMainPanel />
</EditForm>
</MainContent>
)
}
}
const RedirectEditMainPanel = withFormValue(props => (
<Breadcrumb title="Redirects" url="/tank/redirects">
<Breadcrumb title={props.formValue.value.id ? 'Edit' : 'New'}>
<Panel title="Properties" uncontrolled>
<RedirectEditFieldset {...props} />
</Panel>
</Breadcrumb>
</Breadcrumb>
))