UNPKG

@xiag-stc/react-org-unit-form

Version:

React components for editing Tour Operator- and Travel Agency properties

193 lines (170 loc) 8.06 kB
'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;