Sha256: e082506c6506bb6b03d199caaecf1898463051f8a38096f9a47afcebd04e3560

Contents?: true

Size: 1.3 KB

Versions: 1

Compression:

Stored size: 1.3 KB

Contents

import React from 'react';
import { action } from 'mobx';
import { observer } from 'mobx-react';
import { Row } from 'react-flexbox-grid';
import Heading from 'grommet/components/Heading';

import { Form, Field, FormState, nonBlank, validEmail  } from 'hippo/components/form';

@observer
export default class MailerConfig extends React.PureComponent {

    formState = new FormState()

    @action.bound
    onSave() {
        if (!this.props.settings.smtp) { this.props.settings.smtp = {}; }
        this.formState.persistTo(this.props.settings.smtp);
    }

    componentWillMount() {
        this.props.registerForSave(this);
        this.formState.set(this.props.settings.smtp || {});
    }

    componentWillReceiveProps(nextProps) {
        this.formState.set(nextProps.settings.smtp || {});
    }


    render() {
        return (
            <div className="section">
                <Heading tag="h3">Email settings</Heading>
                <Form state={this.formState}>
                    <Row className="section">
                        <Field md={4} xs={6} name="from_email" label="From Email" validate={validEmail} />
                        <Field md={4} xs={6} name="from_name" label="From Name" validate={nonBlank} />
                    </Row>
                </Form>
            </div>
        );
    }

}

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
hippo-fw-0.9.5 client/hippo/screens/system-settings/mailer-config.jsx