UNPKG

@bigfishtv/cockpit

Version:

68 lines (59 loc) 1.89 kB
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 */ @connect() 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> ))