Sha256: fc0f2cbcba0060d90c72a4a081206e7c9bd671032d4bd5c0f4d3694be2e1ab8f

Contents?: true

Size: 943 Bytes

Versions: 5

Compression:

Stored size: 943 Bytes

Contents

import React from 'react';
import PropTypes from 'prop-types';
import { observer } from 'mobx-react';
import { action, computed, observable } from 'mobx';
import Select from 'grommet/components/Select';
import { get, find, defer } from 'lodash';

@observer
export default class SelectFieldWrapper extends React.PureComponent {
    @action.bound
    onSelectChange({ value: { id } }) {
        const ev = { target: { value: id } };
        this.props.onChange(ev);
        this.props.onBlur(ev);
    }

    @computed get value() {
        return this.props.value ? get(find(this.props.collection, { id: this.props.value }), 'label', '') : '';
    }
    render() {
        const { collection, ...otherProps } = this.props;
        return (
            <Select
                {...otherProps}
                value={this.value}
                options={collection}
                onChange={this.onSelectChange}
            />
        );
    }
}

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
hippo-fw-0.9.5 client/hippo/components/form/fields/select-wrapper.jsx
hippo-fw-0.9.4 client/hippo/components/form/fields/select-wrapper.jsx
hippo-fw-0.9.3 client/hippo/components/form/fields/select-wrapper.jsx
hippo-fw-0.9.2 client/hippo/components/form/fields/select-wrapper.jsx
hippo-fw-0.9.1 client/hippo/components/form/fields/select-wrapper.jsx