UNPKG

instantjob-recruiter-client

Version:

a set of tools for creating an instantjob recruiter react client

153 lines (114 loc) 4.62 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 _bind = require('classnames/bind'); var _bind2 = _interopRequireDefault(_bind); var _field = require('components/field'); var _field2 = _interopRequireDefault(_field); var _display = require('../actions/display'); var _store = require('../common/store'); var _store2 = _interopRequireDefault(_store); var _auto_bind = require('common/auto_bind'); var _auto_bind2 = _interopRequireDefault(_auto_bind); var _constants = require('../common/constants'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var cx = _bind2.default.bind(require('../styles/field.scss')); var PopoverField = function (_Component) { (0, _inherits3.default)(PopoverField, _Component); function PopoverField(props) { (0, _classCallCheck3.default)(this, PopoverField); var _this = (0, _possibleConstructorReturn3.default)(this, (PopoverField.__proto__ || (0, _getPrototypeOf2.default)(PopoverField)).call(this, props)); (0, _auto_bind2.default)(_this); return _this; } (0, _createClass3.default)(PopoverField, [{ key: 'show_popover', value: function show_popover() { var _props = this.props, popover_component = _props.popover_component, popover_fill_screen = _props.popover_fill_screen, name = _props.name; _store2.default.dispatch((0, _display.show_popover)(popover_component, this.get_popover_props(), name, popover_fill_screen)); } }, { key: 'get_popover_props', value: function get_popover_props() { var _props$popover_props = this.props.popover_props, _on_save = _props$popover_props.on_save, props = (0, _objectWithoutProperties3.default)(_props$popover_props, ['on_save']); return (0, _extends3.default)({}, props, { on_save: function on_save() { _store2.default.dispatch((0, _display.dismiss_popover)()); _on_save.apply(undefined, arguments); } }); } }, { key: 'render', value: function render() { var _props2 = this.props, editable = _props2.editable, value = _props2.value, placeholder = _props2.placeholder; return _react2.default.createElement( _field2.default, (0, _extends3.default)({}, this.props, { category: 'popover', className: cx({ 'field_editable': editable }) }), _react2.default.createElement( 'div', { key: 'display', className: cx('field__display', { 'field__display_empty': value.length == 0 }), onClick: editable ? this.show_popover : null }, _react2.default.createElement( 'div', { className: cx('field__label', { 'field__label_filled': value }) }, value.length == 0 ? placeholder || _react2.default.createElement( 'span', null, '\u2026' ) : value, value.length > 85 ? _react2.default.createElement( 'div', { className: cx('field__comment-ellipsis') }, '\u2026' ) : null ) ) ); } }]); return PopoverField; }(_react.Component); PopoverField.defaultProps = { name: "", show_label: true, display_only: false, ellipsis: false, editable: true, value: "", popover_component: null, popover_props: {}, placeholder: "" }; exports.default = PopoverField;