@xiag-stc/react-org-unit-form
Version:
React components for editing Tour Operator- and Travel Agency properties
193 lines (170 loc) • 8.06 kB
JavaScript
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _reactIntl = require('react-intl');
var _fieldHoc = require('./fieldHoc');
var _fieldHoc2 = _interopRequireDefault(_fieldHoc);
var _TourOperatorTypeSelect = require('./TourOperatorTypeSelect');
var _TourOperatorTypeSelect2 = _interopRequireDefault(_TourOperatorTypeSelect);
var _CheckboxField = require('./CheckboxField');
var _CheckboxField2 = _interopRequireDefault(_CheckboxField);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var Input = _react2.default.createClass({
displayName: 'Input',
render: function render() {
return _react2.default.createElement('input', this.props);
}
});
var TextArea = _react2.default.createClass({
displayName: 'TextArea',
render: function render() {
return _react2.default.createElement('textarea', this.props);
}
});
var TourOperatorTypeSelectField = (0, _fieldHoc2.default)(_TourOperatorTypeSelect2.default);
var InputField = (0, _fieldHoc2.default)(Input);
var TextAreaField = (0, _fieldHoc2.default)(TextArea);
function fieldsShape() {
return {
type: _react2.default.PropTypes.object.isRequired,
dayUseRatesAllowed: _react2.default.PropTypes.object.isRequired,
taxesPrepaidByDefault: _react2.default.PropTypes.object.isRequired,
otaUsername: _react2.default.PropTypes.object.isRequired,
otaPassword: _react2.default.PropTypes.object.isRequired,
name: _react2.default.PropTypes.object.isRequired,
contactPerson: _react2.default.PropTypes.object.isRequired,
streetAddress: _react2.default.PropTypes.object.isRequired,
zipCode: _react2.default.PropTypes.object.isRequired,
cityName: _react2.default.PropTypes.object.isRequired,
countryName: _react2.default.PropTypes.object.isRequired,
phoneNumber: _react2.default.PropTypes.object.isRequired,
faxNumber: _react2.default.PropTypes.object.isRequired,
emailAddress: _react2.default.PropTypes.object.isRequired,
remarks: _react2.default.PropTypes.object.isRequired,
webAddress: _react2.default.PropTypes.object.isRequired,
financialDetails: _react2.default.PropTypes.object.isRequired,
bankDetails: _react2.default.PropTypes.object.isRequired
};
}
var TourOperatorForm = _react2.default.createClass({
displayName: 'TourOperatorForm',
propTypes: {
fields: _react2.default.PropTypes.shape(fieldsShape()),
onChange: _react2.default.PropTypes.func.isRequired,
onSubmit: _react2.default.PropTypes.func.isRequired
},
mixins: [_reactIntl.IntlMixin],
render: function render() {
return _react2.default.createElement(
'form',
{ className: 'form-horizontal', onSubmit: this.props.onSubmit },
_react2.default.createElement(TourOperatorTypeSelectField, _extends({
ref: 'type'
}, this.props.fields.type, {
onChange: this.props.onChange })),
_react2.default.createElement(_CheckboxField2.default, _extends({
ref: 'dayUseRatesAllowed'
}, this.props.fields.dayUseRatesAllowed, {
onChange: this.props.onChange })),
_react2.default.createElement(_CheckboxField2.default, _extends({
ref: 'taxesPrepaidByDefault'
}, this.props.fields.taxesPrepaidByDefault, {
onChange: this.props.onChange })),
_react2.default.createElement(InputField, _extends({
ref: 'otaUsername',
type: 'text',
required: true
}, this.props.fields.otaUsername, {
onChange: this.props.onChange })),
_react2.default.createElement(InputField, _extends({
ref: 'otaPassword',
type: 'text',
required: true
}, this.props.fields.otaPassword, {
onChange: this.props.onChange })),
_react2.default.createElement(InputField, _extends({
ref: 'name',
type: 'text',
required: true
}, this.props.fields.name, {
onChange: this.props.onChange })),
_react2.default.createElement(InputField, _extends({
ref: 'contactPerson',
type: 'text'
}, this.props.fields.contactPerson, {
onChange: this.props.onChange })),
_react2.default.createElement(InputField, _extends({
ref: 'streetAddress',
type: 'text'
}, this.props.fields.streetAddress, {
onChange: this.props.onChange })),
_react2.default.createElement(InputField, _extends({
ref: 'zipCode',
type: 'text'
}, this.props.fields.zipCode, {
onChange: this.props.onChange })),
_react2.default.createElement(InputField, _extends({
ref: 'cityName',
type: 'text'
}, this.props.fields.cityName, {
onChange: this.props.onChange })),
_react2.default.createElement(InputField, _extends({
ref: 'countryName',
type: 'text'
}, this.props.fields.countryName, {
onChange: this.props.onChange })),
_react2.default.createElement(InputField, _extends({
ref: 'phoneNumber',
type: 'tel'
}, this.props.fields.phoneNumber, {
onChange: this.props.onChange })),
_react2.default.createElement(InputField, _extends({
ref: 'faxNumber',
type: 'tel'
}, this.props.fields.faxNumber, {
onChange: this.props.onChange })),
_react2.default.createElement(InputField, _extends({
ref: 'emailAddress',
type: 'email'
}, this.props.fields.emailAddress, {
onChange: this.props.onChange })),
_react2.default.createElement(TextAreaField, _extends({
ref: 'remarks'
}, this.props.fields.remarks, {
onChange: this.props.onChange })),
_react2.default.createElement(InputField, _extends({
ref: 'webAddress',
type: 'url'
}, this.props.fields.webAddress, {
onChange: this.props.onChange })),
_react2.default.createElement(TextAreaField, _extends({
ref: 'financialDetails'
}, this.props.fields.financialDetails, {
onChange: this.props.onChange })),
_react2.default.createElement(TextAreaField, _extends({
ref: 'bankDetails'
}, this.props.fields.bankDetails, {
onChange: this.props.onChange })),
_react2.default.createElement(
'div',
{ className: 'form-group' },
_react2.default.createElement(
'div',
{ className: 'col-sm-offset-2 col-sm-10' },
_react2.default.createElement(
'button',
{ type: 'submit', className: 'btn btn-default' },
_react2.default.createElement(_reactIntl.FormattedMessage, {
message: this.getIntlMessage('react-org-unit-form.label.save') })
)
)
)
);
}
});
TourOperatorForm.fieldsShape = fieldsShape();
exports.default = TourOperatorForm;