UNPKG

instantjob-recruiter-client

Version:

a set of tools for creating an instantjob recruiter react client

191 lines (145 loc) 5.86 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _extends2 = require('babel-runtime/helpers/extends'); var _extends3 = _interopRequireDefault(_extends2); 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 _reactRedux = require('react-redux'); var _bind = require('classnames/bind'); var _bind2 = _interopRequireDefault(_bind); var _button = require('components/utils/button'); var _button2 = _interopRequireDefault(_button); var _user_card = require('components/user_card'); var _user_card2 = _interopRequireDefault(_user_card); var _store = require('../common/store'); var _store2 = _interopRequireDefault(_store); var _users = require('../common/users'); var _demands = require('../selectors/demands'); var _display = require('../actions/display'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var cx = _bind2.default.bind(require('../styles/demands.scss')); var DemandsStatic = function (_Component) { (0, _inherits3.default)(DemandsStatic, _Component); function DemandsStatic(props) { (0, _classCallCheck3.default)(this, DemandsStatic); var _this = (0, _possibleConstructorReturn3.default)(this, (DemandsStatic.__proto__ || (0, _getPrototypeOf2.default)(DemandsStatic)).call(this, props)); _this.state = { mode: 'pending' }; _this.render_demand = _this.render_demand.bind(_this); _this.render_mode = _this.render_mode.bind(_this); _this.set_mode = _this.set_mode.bind(_this); return _this; } (0, _createClass3.default)(DemandsStatic, [{ key: 'set_mode', value: function set_mode(mode) { var _this2 = this; return function () { return _this2.setState({ mode: mode }); }; } }, { key: 'render_demand', value: function render_demand(_ref) { var id = _ref.id, demand = (0, _objectWithoutProperties3.default)(_ref, ['id']); return _react2.default.createElement(Demand, (0, _extends3.default)({ key: id }, demand, { mode: this.state.mode })); } }, { key: 'render_mode', value: function render_mode(_ref2) { var label = _ref2.label, mode = _ref2.mode; return _react2.default.createElement( 'div', { key: mode, onClick: this.set_mode(mode), className: cx('demands__mode', { 'demands__mode_selected': mode == this.state.mode }) }, label ); } }, { key: 'render', value: function render() { var demands = this.props[this.state.mode]; return _react2.default.createElement( 'div', { className: cx('demands') }, _react2.default.createElement( 'div', { className: cx('demands__modes') }, [{ label: "En attente", mode: "pending" }, { label: "Rejetées", mode: "rejected" }].map(this.render_mode) ), _react2.default.createElement( 'div', { className: cx('demands__table') }, demands.map(this.render_demand) ) ); } }]); return DemandsStatic; }(_react.Component); var Demand = function (_Component2) { (0, _inherits3.default)(Demand, _Component2); function Demand(props) { (0, _classCallCheck3.default)(this, Demand); var _this3 = (0, _possibleConstructorReturn3.default)(this, (Demand.__proto__ || (0, _getPrototypeOf2.default)(Demand)).call(this, props)); _this3.accept = _this3.accept.bind(_this3); _this3.reject = _this3.reject.bind(_this3); return _this3; } (0, _createClass3.default)(Demand, [{ key: 'accept', value: function accept() { this.props.accept(); _store2.default.dispatch((0, _display.alert_success)('Nous avons pr\xE9venu ' + (0, _users.user_full_name)(this.props.user) + ' que vous acceptez sa candidature.')); } }, { key: 'reject', value: function reject() { this.props.reject(); _store2.default.dispatch((0, _display.alert_success)('Nous avons pr\xE9venu ' + (0, _users.user_full_name)(this.props.user) + ' que vous rejetez sa candidature.')); } }, { key: 'render', value: function render() { return _react2.default.createElement( 'div', { className: cx('demands__demand') }, _react2.default.createElement(_user_card2.default, this.props.user), this.props.mode == "pending" ? _react2.default.createElement( _button2.default, { onClick: this.reject, secondary: true }, 'Rejeter' ) : null, _react2.default.createElement( _button2.default, { onClick: this.accept, secondary: this.props.mode == "rejected" }, 'Accepter' ) ); } }]); return Demand; }(_react.Component); var Demands = (0, _reactRedux.connect)(function (state) { return (0, _extends3.default)({}, (0, _demands.get_demands)(state)); })(DemandsStatic); exports.default = Demands;