UNPKG

instantjob-recruiter-client

Version:

a set of tools for creating an instantjob recruiter react client

186 lines (151 loc) 6.5 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); 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 _constants = require('../../common/constants'); var _utilities = require('../../common/utilities'); var _calendar = require('../../common/calendar'); var _base = require('../../selectors/base'); var _generic_calendar = require('../generic_calendar'); var _generic_calendar2 = _interopRequireDefault(_generic_calendar); var _generic_week = require('../generic_week'); var _generic_week2 = _interopRequireDefault(_generic_week); var _radio = require('../radio'); var _radio2 = _interopRequireDefault(_radio); var _md = require('react-icons/lib/md'); var _reactRedux = require('react-redux'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var InputCalendarStatic = function (_Component) { (0, _inherits3.default)(InputCalendarStatic, _Component); function InputCalendarStatic(props) { (0, _classCallCheck3.default)(this, InputCalendarStatic); var _this = (0, _possibleConstructorReturn3.default)(this, (InputCalendarStatic.__proto__ || (0, _getPrototypeOf2.default)(InputCalendarStatic)).call(this, props)); _this.state = { calendar: 'month' }; return _this; } (0, _createClass3.default)(InputCalendarStatic, [{ key: 'render', value: function render() { var _this2 = this; return _react2.default.createElement( 'div', { style: { display: "flex", flex: 1, flexDirection: "column", alignItems: "stretch" } }, _react2.default.createElement( 'div', { style: { flexShrink: 0, padding: 10, display: 'flex', flexDirection: 'row', alignItems: 'center', fontWeight: 900 } }, _react2.default.createElement(_radio2.default, { selected: this.state.calendar, on_click: function on_click(calendar) { return _this2.setState({ calendar: calendar }); }, names: ["month", "week"], render_radio: function render_radio(name) { switch (name) { case "month": return _react2.default.createElement(_md.MdMenu, null); case "week": return _react2.default.createElement( 'div', { style: { WebkitTransform: "rotate(90deg)" } }, _react2.default.createElement(_md.MdMenu, null) ); case "period": return _react2.default.createElement(_md.MdTitle, null); default: return null; } } }) ), _react2.default.createElement( 'div', { style: { flex: 1, display: "flex" } }, function () { switch (_this2.state.calendar) { case "month": return _react2.default.createElement(_generic_calendar2.default, { events: _this2.props.events, on_click: function on_click(day, day_event) { if (day_event) { if (day_event.full_days) { _this2.props.remove_event(day_event); } else { _this2.setState({ calendar: 'week' }); } } else { _this2.props.create_one_day_event(day); } }, drag_color: _this2.props.drag_color, on_drag_and_drop: _this2.props.on_drag_and_drop }); case "week": return _react2.default.createElement(_generic_week2.default, { day_events: (0, _utilities.map_hash)(_this2.props.events, function (events) { return events.filter(function (e) { return e.full_days; }); }), hour_events: (0, _utilities.map_hash)(_this2.props.events, function (events) { return events.filter(function (e) { return !e.full_days; }); }), scrollbar_size: _this2.props.scrollbar_size, on_hour_click: function on_hour_click(hour, hour_event) { if (hour_event) { _this2.props.remove_event(hour_event); } else { _this2.props.create_one_hour_event(hour); } }, on_day_click: function on_day_click(day, day_event) { if (day_event) { if (day_event.full_days) { _this2.props.remove_event(day_event); } } else { _this2.props.create_one_day_event(day); } } }); case "period": return _react2.default.createElement(PeriodPicker, null); default: return null; } }() ) ); } }]); return InputCalendarStatic; }(_react.Component); var InputCalendar = (0, _reactRedux.connect)(function (state) { return { scrollbar_size: state.display.scrollbar_size }; })(InputCalendarStatic); InputCalendar.defaultProps = { events: {}, remove_event: function remove_event() {}, create_one_day_event: function create_one_day_event() {}, create_one_hour_event: function create_one_hour_event() {}, drag_color: '', on_drag_and_drop: function on_drag_and_drop(start, end, paint) {} }; exports.default = InputCalendar;