UNPKG

instantjob-recruiter-client

Version:

a set of tools for creating an instantjob recruiter react client

144 lines (100 loc) 4.57 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _taggedTemplateLiteral2 = require('babel-runtime/helpers/taggedTemplateLiteral'); var _taggedTemplateLiteral3 = _interopRequireDefault(_taggedTemplateLiteral2); var _extends2 = require('babel-runtime/helpers/extends'); var _extends3 = _interopRequireDefault(_extends2); 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 _templateObject = (0, _taggedTemplateLiteral3.default)(['\n display: flex;\n flex-direction: column;\n align-items: flex-end;\n margin-left: -120px;\n padding-right: 20px;\n margin-top: 20px;\n'], ['\n display: flex;\n flex-direction: column;\n align-items: flex-end;\n margin-left: -120px;\n padding-right: 20px;\n margin-top: 20px;\n']); var _react = require('react'); var _react2 = _interopRequireDefault(_react); var _styledComponents = require('styled-components'); var _styledComponents2 = _interopRequireDefault(_styledComponents); var _button = require('components/utils/button'); var _button2 = _interopRequireDefault(_button); var _time_pickers = require('components/input_calendar/time_pickers'); var _time_pickers2 = _interopRequireDefault(_time_pickers); var _auto_bind = require('common/auto_bind'); var _auto_bind2 = _interopRequireDefault(_auto_bind); var _moment = require('common/moment'); var _moment2 = _interopRequireDefault(_moment); var _store = require('common/store'); var _store2 = _interopRequireDefault(_store); var _utilities = require('common/utilities'); var _styles = require('common/styles'); var _display = require('actions/display'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var SlotPicker = function (_Component) { (0, _inherits3.default)(SlotPicker, _Component); function SlotPicker(props) { (0, _classCallCheck3.default)(this, SlotPicker); var _this = (0, _possibleConstructorReturn3.default)(this, (SlotPicker.__proto__ || (0, _getPrototypeOf2.default)(SlotPicker)).call(this, props)); _this.start = (0, _moment2.default)(props.slot.start).startOf('day'); _this.state = { chunks: (0, _time_pickers.get_days_chunks)(props.slot.events || [props.slot])[(0, _time_pickers.day_id)(_this.start)] || {} }; (0, _auto_bind2.default)(_this); return _this; } (0, _createClass3.default)(SlotPicker, [{ key: 'flip', value: function flip(_, new_chunks, paint) { this.setState(function (_ref) { var chunks = _ref.chunks; return { chunks: (0, _extends3.default)({}, chunks, (0, _utilities.create_hash)(new_chunks, function () { return paint; })) }; }); } }, { key: 'submit', value: function submit() { var _this2 = this; var events = []; (0, _time_pickers.get_periods)(this.state.chunks).forEach(function (_ref2) { var start = _ref2.start, end = _ref2.end; events.push((0, _extends3.default)({}, (0, _time_pickers.get_start_end)(_this2.start, start, end), { full_days: false })); }); this.props.update_events(events); _store2.default.dispatch((0, _display.dismiss_popover)()); } }, { key: 'render', value: function render() { return _react2.default.createElement( Container, null, _react2.default.createElement(_time_pickers2.default, { day_label: false, days: [{ date: this.start, chunks: this.state.chunks }], flip: this.flip, drag_color: (0, _styles.color)('primary') }), _react2.default.createElement( _button2.default, { onClick: this.submit }, 'Enregistrer' ) ); } }]); return SlotPicker; }(_react.Component); exports.default = SlotPicker; var Container = _styledComponents2.default.div(_templateObject);