instantjob-recruiter-client
Version:
a set of tools for creating an instantjob recruiter react client
186 lines (151 loc) • 6.5 kB
JavaScript
;
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;