UNPKG

instantjob-recruiter-client

Version:

a set of tools for creating an instantjob recruiter react client

147 lines (110 loc) 4.47 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 _instant_job = require('./instant_job'); var _instant_job2 = _interopRequireDefault(_instant_job); var _constants = require('../common/constants'); var _users = require('../actions/users'); var _bind = require('classnames/bind'); var _bind2 = _interopRequireDefault(_bind); var _md = require('react-icons/lib/md'); var _users2 = require('../common/users'); var _utilitiesEs = require('../common/utilities.es6.jsx'); var _auto_bind = require('../common/auto_bind'); var _auto_bind2 = _interopRequireDefault(_auto_bind); var _store = require('common/store'); var _store2 = _interopRequireDefault(_store); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var cx = _bind2.default.bind(require('../styles/profile_image.scss')); var ProfileImage = function (_Component) { (0, _inherits3.default)(ProfileImage, _Component); function ProfileImage(props) { (0, _classCallCheck3.default)(this, ProfileImage); var _this = (0, _possibleConstructorReturn3.default)(this, (ProfileImage.__proto__ || (0, _getPrototypeOf2.default)(ProfileImage)).call(this, props)); (0, _auto_bind2.default)(_this); return _this; } (0, _createClass3.default)(ProfileImage, [{ key: 'get_status', value: function get_status() { return this.props.status || (0, _users2.get_user_status)(this.props); } }, { key: 'on_click', value: function on_click() { var _props = this.props, id = _props.id, app_name = _props.app_name; if (id && app_name) { _store2.default.dispatch((0, _users.set_current_recipient)(id)); return true; } else { return false; } } }, { key: 'render', value: function render() { var _this2 = this; var user_status = void 0; if (!this.props.hide_status) { user_status = this.get_status(); } var _props2 = this.props, first_name = _props2.first_name, last_name = _props2.last_name, avatar_url = _props2.avatar_url; var initials = first_name && last_name ? '' + first_name.substring(0, 1) + last_name.substring(0, 1) : null; return _react2.default.createElement( 'div', { className: cx('profile-image', { 'profile-image_has-app-clickable': user_status && user_status.status == 'active', 'profile-image_large': this.props.large, 'profile-image_huge': this.props.huge }), style: avatar_url ? { 'backgroundImage': 'url(https:' + avatar_url + ')', 'backgroundSize': 'contain' } : {}, onClick: function onClick(event) { if (_this2.on_click()) { event.stopPropagation(); } } }, _react2.default.createElement( 'div', { className: cx('profile-image__icon') }, _react2.default.createElement(_md.MdTextsms, null) ), avatar_url ? null : initials ? _react2.default.createElement( 'span', { className: cx('profile-image__initials') }, initials ) : _react2.default.createElement( 'div', { className: cx('profile-image__person') }, _react2.default.createElement(_md.MdPerson, null) ), user_status && user_status.icon ? _react2.default.createElement( 'div', { className: cx('profile-image__status') }, user_status.icon ) : null ); } }]); return ProfileImage; }(_react.Component); exports.default = ProfileImage;