instantjob-recruiter-client
Version:
a set of tools for creating an instantjob recruiter react client
134 lines (99 loc) • 4.16 kB
JavaScript
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _toConsumableArray2 = require('babel-runtime/helpers/toConsumableArray');
var _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2);
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 _bind = require('classnames/bind');
var _bind2 = _interopRequireDefault(_bind);
var _fields_table = require('components/fields_table');
var _fields_table2 = _interopRequireDefault(_fields_table);
var _button = require('components/utils/button');
var _button2 = _interopRequireDefault(_button);
var _store = require('common/store');
var _store2 = _interopRequireDefault(_store);
var _auto_bind = require('common/auto_bind');
var _auto_bind2 = _interopRequireDefault(_auto_bind);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var cx = _bind2.default.bind(require('../styles/fields_settings.scss'));
var FieldsSettings = function (_Component) {
(0, _inherits3.default)(FieldsSettings, _Component);
function FieldsSettings(props) {
(0, _classCallCheck3.default)(this, FieldsSettings);
var _this = (0, _possibleConstructorReturn3.default)(this, (FieldsSettings.__proto__ || (0, _getPrototypeOf2.default)(FieldsSettings)).call(this, props));
(0, _auto_bind2.default)(_this);
return _this;
}
(0, _createClass3.default)(FieldsSettings, [{
key: 'render_table',
value: function render_table(_ref, index) {
var header = _ref.header,
fields = _ref.fields,
children = _ref.children,
actions = _ref.actions;
var options = this.props.options;
return _react2.default.createElement(
'div',
{ key: index, className: cx('fields-settings__fields') },
_react2.default.createElement(
'div',
{ className: cx('fields-settings__fields-header') },
_react2.default.createElement(
'span',
null,
header
),
actions
),
fields ? _react2.default.createElement(_fields_table2.default, { fields: fields, options: options }) : null,
children
);
}
}, {
key: 'render',
value: function render() {
var _props = this.props,
title = _props.title,
fields = _props.fields,
instant_job_fields = _props.instant_job_fields,
children = _props.children,
create_field = _props.create_field;
return _react2.default.createElement(
'div',
{ className: cx('fields-settings') },
_react2.default.createElement(
'div',
{ className: cx('fields-settings__header') },
_react2.default.createElement(
'div',
{ className: cx('fields-settings__header-title') },
title
),
_react2.default.createElement(
_button2.default,
{ onClick: create_field },
'Cr\xE9er un nouveau champ'
)
),
[{ header: "Champs personnalisables", fields: fields }, instant_job_fields && { header: "Champs InstantJob", fields: instant_job_fields }].concat((0, _toConsumableArray3.default)(children || [])).filter(Boolean).map(this.render_table)
);
}
}]);
return FieldsSettings;
}(_react.Component);
FieldsSettings.defaultProps = {
options: []
};
exports.default = FieldsSettings;