UNPKG

instantjob-recruiter-client

Version:

a set of tools for creating an instantjob recruiter react client

151 lines (114 loc) 4.71 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.PopoverStatic = undefined; 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 _react = require('react'); var _react2 = _interopRequireDefault(_react); var _reactRedux = require('react-redux'); var _bind = require('classnames/bind'); var _bind2 = _interopRequireDefault(_bind); var _md = require('react-icons/lib/md'); var _constants = require('common/constants'); var _auto_bind = require('common/auto_bind'); var _auto_bind2 = _interopRequireDefault(_auto_bind); var _event_system = require('common/event_system'); var _event_system2 = _interopRequireDefault(_event_system); var _display = require('actions/display'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var cx = _bind2.default.bind(require('styles/popover.scss')); var PopoverStatic = exports.PopoverStatic = function (_Component) { (0, _inherits3.default)(PopoverStatic, _Component); function PopoverStatic(props) { (0, _classCallCheck3.default)(this, PopoverStatic); var _this = (0, _possibleConstructorReturn3.default)(this, (PopoverStatic.__proto__ || (0, _getPrototypeOf2.default)(PopoverStatic)).call(this, props)); (0, _auto_bind2.default)(_this); return _this; } (0, _createClass3.default)(PopoverStatic, [{ key: 'dismiss_popover', value: function dismiss_popover() { _event_system2.default.trigger("dismiss_popover"); _event_system2.default.cancel_all("dismiss_popover"); this.props.dismiss_popover(); } }, { key: 'render', value: function render() { var _this2 = this; if (this.props.component) { return _react2.default.createElement( 'div', { className: cx('my-popover', 'popover_mode_' + (this.props.fill_screen ? 'fill-screen' : 'keep-constrained')), onClick: this.props.dismiss_popover }, _react2.default.createElement( 'div', { className: cx('popover__container'), onClick: function onClick(event) { return event.stopPropagation(); } }, _react2.default.createElement( 'div', { className: cx('popover__header') }, _react2.default.createElement( 'div', { className: cx('popover__header__title') }, this.props.title ), _react2.default.createElement( 'div', { className: cx('popover__header__close-button'), onClick: this.dismiss_popover }, _react2.default.createElement(_md.MdClose, null) ) ), _react2.default.createElement( 'div', { className: cx('popover__content') }, _react2.default.createElement('div', { style: { flex: 0 } }), _react2.default.createElement(this.props.component, (0, _extends3.default)({}, this.props.props, { ref: function ref(popover_content) { return _this2.popover_content = popover_content; } })) ) ) ); } else { return null; } } }]); return PopoverStatic; }(_react.Component); PopoverStatic.defaultProps = { props: {}, dismiss_popover: function dismiss_popover() {} }; var Popover = (0, _reactRedux.connect)(function (state) { return { component: state.display.popover_component, props: state.display.popover_props || {}, fill_screen: state.display.popover_fill_screen, title: state.display.popover_title }; }, function (dispatch) { return { dismiss_popover: function dismiss_popover() { return dispatch((0, _display.dismiss_popover)()); } }; })(PopoverStatic); Popover.defaultProps = { get_wrapped_content: function get_wrapped_content(content) { return content; } }; exports.default = Popover;