instantjob-recruiter-client
Version:
a set of tools for creating an instantjob recruiter react client
129 lines (86 loc) • 3.92 kB
JavaScript
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _objectWithoutProperties2 = require('babel-runtime/helpers/objectWithoutProperties');
var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);
var _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of');
var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
var _createClass2 = require('babel-runtime/helpers/createClass');
var _createClass3 = _interopRequireDefault(_createClass2);
var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
var _inherits2 = require('babel-runtime/helpers/inherits');
var _inherits3 = _interopRequireDefault(_inherits2);
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _exclusive_field = require('components/exclusive_field');
var _exclusive_field2 = _interopRequireDefault(_exclusive_field);
var _non_exclusive_field = require('components/non_exclusive_field');
var _non_exclusive_field2 = _interopRequireDefault(_non_exclusive_field);
var _comment_field = require('components/comment_field');
var _comment_field2 = _interopRequireDefault(_comment_field);
var _popover_field = require('components/popover_field');
var _popover_field2 = _interopRequireDefault(_popover_field);
var _file_field = require('components/file_field');
var _file_field2 = _interopRequireDefault(_file_field);
var _template_field = require('components/template_field');
var _template_field2 = _interopRequireDefault(_template_field);
var _computed_field = require('./computed_field');
var _computed_field2 = _interopRequireDefault(_computed_field);
var _address_field = require('./address_field');
var _address_field2 = _interopRequireDefault(_address_field);
var _new_field = require('./new_field');
var _new_field2 = _interopRequireDefault(_new_field);
var _auto_bind = require('common/auto_bind');
var _auto_bind2 = _interopRequireDefault(_auto_bind);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var Field = function (_Component) {
(0, _inherits3.default)(Field, _Component);
function Field(props) {
(0, _classCallCheck3.default)(this, Field);
var _this = (0, _possibleConstructorReturn3.default)(this, (Field.__proto__ || (0, _getPrototypeOf2.default)(Field)).call(this, props));
(0, _auto_bind2.default)(_this);
return _this;
}
(0, _createClass3.default)(Field, [{
key: 'make_component',
value: function make_component(category) {
switch (category) {
case 'non_exclusive':
return _non_exclusive_field2.default;
case 'exclusive':
return _exclusive_field2.default;
case 'comment':
return _comment_field2.default;
case 'file':
return _file_field2.default;
case 'popover':
return _popover_field2.default;
case 'template':
return _template_field2.default;
case 'computed':
return _computed_field2.default;
case 'address':
return _address_field2.default;
case 'new_field':
return _new_field2.default;
default:
return null;
}
}
}, {
key: 'render',
value: function render() {
var _props = this.props,
category = _props.category,
field = (0, _objectWithoutProperties3.default)(_props, ['category']);
var CategorizedField = this.make_component(category);
return CategorizedField ? _react2.default.createElement(CategorizedField, field) : null;
}
}]);
return Field;
}(_react.Component);
exports.default = Field;