instantjob-recruiter-client
Version:
a set of tools for creating an instantjob recruiter react client
147 lines (126 loc) • 4.26 kB
JavaScript
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _objectWithoutProperties2 = require('babel-runtime/helpers/objectWithoutProperties');
var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);
var _extends2 = require('babel-runtime/helpers/extends');
var _extends3 = _interopRequireDefault(_extends2);
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _bind = require('classnames/bind');
var _bind2 = _interopRequireDefault(_bind);
var _md = require('react-icons/lib/md');
var _line_broken_text = require('../components/line_broken_text');
var _line_broken_text2 = _interopRequireDefault(_line_broken_text);
var _calendar = require('../common/calendar');
var _missions = require('../common/missions');
var _utilities = require('../common/utilities');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var cx = _bind2.default.bind(require('../styles/user_mission.scss'));
exports.default = function (_ref) {
var id = _ref.id,
events = _ref.events,
workplace = _ref.workplace,
fields = _ref.fields;
return _react2.default.createElement(
'div',
null,
_react2.default.createElement(
'div',
{ className: cx('user-mission__events') },
_react2.default.createElement(
'div',
{ className: cx('user-mission__events-icon') },
_react2.default.createElement(_md.MdEvent, null)
),
_react2.default.createElement(
'div',
{ className: cx('user-mission__events-periods') },
(0, _calendar.make_periods)(events).map(function (period) {
return _react2.default.createElement(
'div',
{ key: period.events[0].id, className: cx('user-mission__events-periods-period') },
(0, _missions.mission_period)(period)
);
})
)
),
workplace ? _react2.default.createElement(
'div',
{ className: cx('user-mission__place') },
_react2.default.createElement(
'div',
{ className: cx('user-mission__place-icon') },
_react2.default.createElement(_md.MdPlace, null)
),
_react2.default.createElement(
'div',
{ className: cx('user-mission__place-label') },
_react2.default.createElement(
'div',
{ className: cx('user-mission__place-label-name') },
workplace.name
),
_react2.default.createElement(
'div',
{ className: cx('user-mission__place-label-address', { 'user-mission__place-label-address-empty': !workplace.name && !workplace.address }) },
workplace.address || 'Non renseigné'
)
)
) : null,
fields.map(function (field) {
return _react2.default.createElement(Field, (0, _extends3.default)({ key: field.id }, field));
})
);
};
var Field = function Field(_ref2) {
var name = _ref2.name,
field = (0, _objectWithoutProperties3.default)(_ref2, ['name']);
return _react2.default.createElement(
'div',
{ className: cx('user-mission__field') },
_react2.default.createElement(
'span',
{ className: cx('user-mission__field-name') },
name + ' : '
),
_react2.default.createElement(FieldContent, field)
);
};
var FieldContent = function FieldContent(_ref3) {
var category = _ref3.category,
comment = _ref3.comment,
selected_values = _ref3.selected_values,
selected_value = _ref3.selected_value,
empty = _ref3.empty;
if (empty) {
return _react2.default.createElement(
'span',
{ className: cx('user-mission__field-empty') },
'Vide'
);
}
switch (category) {
case 'comment':
return _react2.default.createElement(
_line_broken_text2.default,
null,
comment
);
case 'non_exclusive':
return _react2.default.createElement(
'span',
null,
(0, _utilities.human_join)(selected_values.map((0, _utilities.property_getter)('name')))
);
case 'exclusive':
return _react2.default.createElement(
'span',
null,
selected_value.name
);
default:
return null;
}
};