@risecx/carespace-chat-ui
Version:
carespace-chat-ui React component
114 lines (95 loc) • 4.08 kB
JavaScript
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
import React, { Component, Fragment } from 'react';
import closeIcon from './../assets/close-icon.png';
import backIcon from './../assets/back.svg';
import FavoritesIcon from './../assets/favorite-icon.png';
import ProgramsIcon from './../assets/programs.svg';
import SubHeader from './SubTitleHeader';
var MENU_ITEMS = [{
label: 'Favorites',
key: 'FAVORITES',
icon: FavoritesIcon
}, {
label: 'Programs',
key: 'PROGRAMS',
icon: ProgramsIcon
}
/* { label: 'Heartbeat', key: 'HEARTBEAT' }, */
];
var Header = /*#__PURE__*/function (_Component) {
_inheritsLoose(Header, _Component);
function Header(props) {
var _this;
_this = _Component.call(this, props) || this;
_defineProperty(_assertThisInitialized(_this), "heartbeatWindow", function () {
window.open('/heartbeat/index.html', '_blank', 'toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, resizable=no, copyhistory=no, width=1024, height=768');
});
_defineProperty(_assertThisInitialized(_this), "onItemClickHandler", function (item) {
var onSubHeaderMenuItemClick = _this.props.onSubHeaderMenuItemClick;
if (item.key === 'HEARTBEAT') return _this.heartbeatWindow();
_this.setState({
item: item
});
onSubHeaderMenuItemClick(item);
});
_defineProperty(_assertThisInitialized(_this), "onCloseClickHandler", function () {
var onSubHeaderMenuItemClick = _this.props.onSubHeaderMenuItemClick;
_this.setState({
item: null
});
onSubHeaderMenuItemClick({
key: 'MESSAGE_LIST'
});
});
_this.state = {
item: null
};
return _this;
}
var _proto = Header.prototype;
_proto.render = function render() {
var _this2 = this;
var isAuth = this.props.isAuth;
return /*#__PURE__*/React.createElement(Fragment, null, /*#__PURE__*/React.createElement("div", {
className: "sc-header"
}, isAuth && /*#__PURE__*/React.createElement(Fragment, null, /*#__PURE__*/React.createElement("img", {
className: "sc-header--img",
src: this.props.avatarImageUrl,
alt: ""
}), /*#__PURE__*/React.createElement("div", {
className: "sc-header--team-name"
}, this.props.teamName, /*#__PURE__*/React.createElement("div", {
className: "sc-sub--header"
}, /*#__PURE__*/React.createElement(SubHeader, this.props)))), /*#__PURE__*/React.createElement("div", {
className: "sc-header--close-button",
onClick: this.props.onClose
}, /*#__PURE__*/React.createElement("img", {
src: closeIcon,
alt: ""
}))), isAuth && /*#__PURE__*/React.createElement("div", {
className: "sc-sub-header"
}, /*#__PURE__*/React.createElement("ul", {
className: "toolbar"
}, this.state.item && /*#__PURE__*/React.createElement(Fragment, null, /*#__PURE__*/React.createElement("li", {
className: "label active",
onClick: this.onCloseClickHandler
}, this.state.item.label), /*#__PURE__*/React.createElement("li", {
className: "active back",
onClick: this.onCloseClickHandler
}, /*#__PURE__*/React.createElement("img", {
src: backIcon,
alt: ""
}))), !this.state.item && MENU_ITEMS.map(function (item, index) {
return /*#__PURE__*/React.createElement("li", {
onClick: function onClick() {
return _this2.onItemClickHandler(item);
},
key: index
}, item.label);
}))));
};
return Header;
}(Component);
export default Header;