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