@choerodon/master
Version:
A package of Master for Choerodon platform.
731 lines (638 loc) • 31.9 kB
JavaScript
import "choerodon-ui/lib/notification/style";
import _notification from "choerodon-ui/lib/notification";
import "choerodon-ui/lib/avatar/style";
import _Avatar from "choerodon-ui/lib/avatar";
import "choerodon-ui/pro/lib/icon/style";
import _Icon from "choerodon-ui/pro/lib/icon";
import "choerodon-ui/pro/lib/spin/style";
import _Spin from "choerodon-ui/pro/lib/spin";
import "choerodon-ui/lib/badge/style";
import _Badge from "choerodon-ui/lib/badge";
import "choerodon-ui/lib/button/style";
import _Button2 from "choerodon-ui/lib/button";
import "choerodon-ui/lib/tooltip/style";
import _Tooltip from "choerodon-ui/lib/tooltip";
import "choerodon-ui/pro/lib/button/style";
import _Button from "choerodon-ui/pro/lib/button";
import "choerodon-ui/pro/lib/modal/style";
import _Modal from "choerodon-ui/pro/lib/modal";
import "choerodon-ui/lib/tabs/style";
import _Tabs from "choerodon-ui/lib/tabs";
var _dec, _class, _dec2, _class3, _dec3, _class5;
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
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; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
function _possibleConstructorReturn(self, call) { if (call && (typeof call === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
/* eslint-disable max-classes-per-file */
/* eslint-disable react/no-danger */
import React, { Component } from 'react';
import { createPortal } from 'react-dom';
import { withRouter } from 'react-router-dom';
import onClickOutside from 'react-onclickoutside';
import { inject, observer } from 'mobx-react';
import classNames from 'classnames';
import JSONBig from 'json-bigint';
import { TimePopover } from '@choerodon/components';
import WSHandler from "../../../../../components/ws/WSHandler";
import defaultAvatar from "./style/icons/favicon.png";
var TabPane = _Tabs.TabPane;
var PREFIX_CLS = 'c7n';
var prefixCls = "".concat(PREFIX_CLS, "-boot-header-inbox");
/* eslint-disable-next-line */
var reg = /\n| |<|>|<[^a\/][^>]*>|<\/[^a][^>]*>/g;
var imgreg = /(<img[\s\S]*?src\s*=\s*["|']|\[img\])(.*?)(["|'][\s\S]*?>|\[\/img\])/;
var tablereg = /<table(.*?)>([^]*?)<\/table>/g;
var detailLinkReg = /<a(.*?)>查看详情<\/a>/g;
var cleanModalKey = _Modal.key();
var orgReg = /\${orgString}/;
var RenderPopoverContentClass = (_dec = inject('HeaderStore', 'AppState'), _dec(_class = onClickOutside(_class = observer(_class = /*#__PURE__*/function (_Component) {
_inherits(RenderPopoverContentClass, _Component);
var _super = _createSuper(RenderPopoverContentClass);
function RenderPopoverContentClass() {
var _this;
_classCallCheck(this, RenderPopoverContentClass);
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
_this = _super.call.apply(_super, [this].concat(args));
_this.handleClickOutside = function () {
var HeaderStore = _this.props.HeaderStore;
HeaderStore.setInboxVisible(false);
setTimeout(function () {
HeaderStore.setInboxDetailVisible(false);
}, 700);
};
return _this;
}
_createClass(RenderPopoverContentClass, [{
key: "render",
value: function render() {
var _classNames;
var _this$props = this.props,
HeaderStore = _this$props.HeaderStore,
inboxData = _this$props.inboxData,
inboxLoading = _this$props.inboxLoading,
renderMessages = _this$props.renderMessages,
handleVisibleChange = _this$props.handleVisibleChange,
openCleanAllModal = _this$props.openCleanAllModal,
handleSettingReceive = _this$props.handleSettingReceive,
readAllMsg = _this$props.readAllMsg;
var inboxVisible = HeaderStore.inboxVisible,
getUnreadAll = HeaderStore.getUnreadAll,
announcementClosed = HeaderStore.announcementClosed,
getUnreadMsg = HeaderStore.getUnreadMsg,
getIsTodo = HeaderStore.getIsTodo,
getUnreadOther = HeaderStore.getUnreadOther;
var siderClasses = classNames((_classNames = {}, _defineProperty(_classNames, "".concat(prefixCls, "-sider"), true), _defineProperty(_classNames, "".concat(prefixCls, "-sider-visible"), inboxVisible), _classNames));
var operations = /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(_Tooltip, {
title: "\u5168\u90E8\u5DF2\u8BFB"
}, /*#__PURE__*/React.createElement(_Button, {
funcType: "flat",
icon: "all_read",
color: "primary",
onClick: readAllMsg
})), /*#__PURE__*/React.createElement(_Tooltip, {
title: "\u63A5\u6536\u8BBE\u7F6E"
}, /*#__PURE__*/React.createElement(_Button, {
funcType: "flat",
icon: "settings",
color: "primary",
onClick: handleSettingReceive,
style: {
marginLeft: '.04rem'
}
})), HeaderStore.getInboxActiveKey === '1' && /*#__PURE__*/React.createElement(_Tooltip, {
title: "\u5168\u90E8\u6E05\u9664"
}, /*#__PURE__*/React.createElement(_Button, {
funcType: "flat",
icon: "delete_sweep",
color: "primary",
onClick: openCleanAllModal,
style: {
marginLeft: '.04rem'
}
})));
return /*#__PURE__*/createPortal( /*#__PURE__*/React.createElement("div", {
className: siderClasses
}, /*#__PURE__*/React.createElement("div", {
className: "".concat(prefixCls, "-sider-header-wrap no-mr ").concat(!inboxData.length ? 'is-empty' : null),
style: {
disable: 'flex',
flexDirection: 'column'
}
}, /*#__PURE__*/React.createElement("div", {
className: "".concat(prefixCls, "-sider-header")
}, /*#__PURE__*/React.createElement("div", {
className: "".concat(prefixCls, "-sider-header-title")
}, /*#__PURE__*/React.createElement("span", {
className: "msgTitle"
}, "\u6D88\u606F\u901A\u77E5"), /*#__PURE__*/React.createElement(_Button2, {
funcType: "flat",
icon: "close",
shape: "circle",
onClick: function onClick() {
return handleVisibleChange(!inboxVisible);
}
})), /*#__PURE__*/React.createElement(_Tabs, {
defaultActiveKey: "1",
activeKey: HeaderStore.getInboxActiveKey,
onChange: function onChange(flag) {
return HeaderStore.setInboxActiveKey(flag);
},
tabBarExtraContent: operations
}, /*#__PURE__*/React.createElement(TabPane, {
tab: /*#__PURE__*/React.createElement("span", null, /*#__PURE__*/React.createElement(_Badge, {
count: getUnreadMsg.filter(function (v) {
return !v.read;
}).length,
style: {
transform: 'scale(.75)'
}
}, "\u6D88\u606F")),
key: "1"
}, /*#__PURE__*/React.createElement(_Spin, {
spinning: inboxLoading,
className: "".concat(prefixCls, "-sider-header-loading")
}, renderMessages(getUnreadMsg))), /*#__PURE__*/React.createElement(TabPane, {
tab: "\u516C\u544A",
key: "3"
}, /*#__PURE__*/React.createElement(_Spin, {
spinning: inboxLoading,
className: "".concat(prefixCls, "-sider-header-loading")
}, renderMessages(getUnreadOther)))))), /*#__PURE__*/React.createElement(RenderPopoverContentDetailClass, {
handleVisibleChange: this.handleVisibleChange
})), document.body);
}
}]);
return RenderPopoverContentClass;
}(Component)) || _class) || _class) || _class);
var RenderPopoverContentDetailClass = (_dec2 = inject('HeaderStore', 'AppState'), _dec2(_class3 = observer(_class3 = /*#__PURE__*/function (_Component2) {
_inherits(RenderPopoverContentDetailClass, _Component2);
var _super2 = _createSuper(RenderPopoverContentDetailClass);
function RenderPopoverContentDetailClass() {
var _this2;
_classCallCheck(this, RenderPopoverContentDetailClass);
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
args[_key2] = arguments[_key2];
}
_this2 = _super2.call.apply(_super2, [this].concat(args));
_this2.handleClickOutside = function () {
var HeaderStore = _this2.props.HeaderStore;
HeaderStore.setInboxVisible(false);
setTimeout(function () {
HeaderStore.setInboxDetailVisible(false);
}, 700);
};
return _this2;
}
_createClass(RenderPopoverContentDetailClass, [{
key: "render",
value: function render() {
var _classNames2;
var _this$props2 = this.props,
HeaderStore = _this$props2.HeaderStore,
AppState = _this$props2.AppState,
inboxData = _this$props2.inboxData,
inboxLoading = _this$props2.inboxLoading,
renderMessages = _this$props2.renderMessages,
handleVisibleChange = _this$props2.handleVisibleChange,
cleanAllMsg = _this$props2.cleanAllMsg;
var inboxDetailVisible = HeaderStore.inboxDetailVisible,
getUnreadAll = HeaderStore.getUnreadAll,
announcementClosed = HeaderStore.announcementClosed,
getUnreadMsg = HeaderStore.getUnreadMsg,
getUnreadNotice = HeaderStore.getUnreadNotice,
inboxDetail = HeaderStore.inboxDetail;
var _AppState$getSiteInfo = AppState.getSiteInfo,
systemLogo = _AppState$getSiteInfo.systemLogo,
systemName = _AppState$getSiteInfo.systemName;
var realSystemLogo = systemLogo || defaultAvatar; // eslint-disable-next-line no-underscore-dangle
var realSystemName = systemName || window._env_.HEADER_TITLE_NAME || 'Choerodon猪齿鱼平台';
var siderClasses = classNames((_classNames2 = {}, _defineProperty(_classNames2, "".concat(prefixCls, "-sider-no-animate"), true), _defineProperty(_classNames2, "".concat(prefixCls, "-sider"), true), _defineProperty(_classNames2, "".concat(prefixCls, "-sider-visible"), inboxDetailVisible), _classNames2));
if (!inboxDetail) return null;
var realSendTime = 'sendDate' in HeaderStore.inboxDetail ? HeaderStore.inboxDetail.sendDate : HeaderStore.inboxDetail.sendTime;
var isMsg = ('backlogFlag' in HeaderStore.inboxDetail);
if (!inboxDetailVisible) {
return null;
}
return /*#__PURE__*/React.createElement("div", {
className: siderClasses
}, /*#__PURE__*/React.createElement("div", {
className: "".concat(prefixCls, "-sider-header-wrap")
}, /*#__PURE__*/React.createElement("div", {
className: "header"
}, /*#__PURE__*/React.createElement("div", {
style: {
display: 'flex',
alignItems: 'center'
}
}, /*#__PURE__*/React.createElement(_Button, {
funcType: "flat",
icon: "keyboard_backspace",
color: "primary",
style: {
marginLeft: '-5px',
marginRight: '2px'
},
onClick: function onClick() {
HeaderStore.setInboxDetailVisible(false);
}
}), /*#__PURE__*/React.createElement("span", {
className: "title"
}, "\u901A\u77E5\u8BE6\u60C5")), /*#__PURE__*/React.createElement(_Button, {
funcType: "flat",
icon: "close",
className: "close-button",
onClick: function onClick() {
HeaderStore.setInboxVisible(false);
setTimeout(function () {
HeaderStore.setInboxDetailVisible(false);
}, 700);
}
})), /*#__PURE__*/React.createElement("div", {
className: "body"
}, /*#__PURE__*/React.createElement("div", {
className: "title"
}, /*#__PURE__*/React.createElement("span", null, /*#__PURE__*/React.createElement(_Icon, {
type: isMsg ? 'textsms' : 'volume_up',
style: {
marginRight: 10
}
}), /*#__PURE__*/React.createElement("a", {
onClick: function onClick(e) {}
}, HeaderStore.inboxDetail.title))), /*#__PURE__*/React.createElement("div", {
className: "info"
}, /*#__PURE__*/React.createElement(_Avatar, {
src: HeaderStore.inboxDetail.sendByUser ? HeaderStore.inboxDetail.sendByUser.imageUrl : realSystemLogo,
size: 18
}, HeaderStore.inboxDetail.sendByUser ? HeaderStore.inboxDetail.sendByUser.realName && HeaderStore.inboxDetail.sendByUser.realName.charAt(0) : realSystemName && realSystemName.charAt(0)), /*#__PURE__*/React.createElement("span", {
style: {
marginLeft: 8,
marginRight: 8
}
}, HeaderStore.inboxDetail.sendByUser ? HeaderStore.inboxDetail.sendByUser.realName : realSystemName), /*#__PURE__*/React.createElement("span", {
style: {
marginRight: 8
}
}, "\xB7"), new Date() - new Date(realSendTime) >= 172800000 ? /*#__PURE__*/React.createElement("span", null, realSendTime) : /*#__PURE__*/React.createElement(TimePopover, {
content: realSendTime
})), /*#__PURE__*/React.createElement("div", {
className: "content c7n-boot-header-inbox-wrap"
}, /*#__PURE__*/React.createElement("div", {
className: "c7n-boot-header-inbox-content" // eslint-disable-next-line react/no-danger
,
dangerouslySetInnerHTML: {
__html: "".concat(HeaderStore.inboxDetail.content)
}
})))));
}
}]);
return RenderPopoverContentDetailClass;
}(Component)) || _class3) || _class3);
var Inbox = (_dec3 = inject('HeaderStore', 'AppState'), withRouter(_class5 = _dec3(_class5 = observer(_class5 = /*#__PURE__*/function (_Component3) {
_inherits(Inbox, _Component3);
var _super3 = _createSuper(Inbox);
function Inbox() {
var _this3;
_classCallCheck(this, Inbox);
for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
args[_key3] = arguments[_key3];
}
_this3 = _super3.call.apply(_super3, [this].concat(args));
_this3.cleanMsg = function (e, data) {
e && e.stopPropagation();
var _this3$props = _this3.props,
AppState = _this3$props.AppState,
HeaderStore = _this3$props.HeaderStore;
HeaderStore.readMsg(AppState.userInfo.id, data, 0);
};
_this3.deleteMsg = function (e, data) {
e.stopPropagation();
var _this3$props2 = _this3.props,
AppState = _this3$props2.AppState,
HeaderStore = _this3$props2.HeaderStore;
HeaderStore.deleteMsg(AppState.userInfo.id, data);
};
_this3.readAllMsg = function () {
var _this3$props3 = _this3.props,
AppState = _this3$props3.AppState,
HeaderStore = _this3$props3.HeaderStore;
HeaderStore.readMsg(AppState.userInfo.id, null, 1); // HeaderStore.setInboxVisible(false);
};
_this3.cleanAllMsg = function () {
var _this3$props4 = _this3.props,
AppState = _this3$props4.AppState,
HeaderStore = _this3$props4.HeaderStore;
HeaderStore.cleanAllMsg(AppState.userInfo.id); // HeaderStore.setInboxVisible(false);
};
_this3.openCleanAllModal = function () {
_Modal.open({
key: cleanModalKey,
title: '全部清除',
children: /*#__PURE__*/React.createElement("span", null, "\u786E\u5B9A\u8981\u5F7B\u5E95\u6E05\u9664\u6240\u6709\u6D88\u606F\u5417\uFF1F\u6E05\u9664\u540E\u60A8\u5C06\u65E0\u6CD5\u67E5\u770B\u5230\u8FD9\u4E9B\u6D88\u606F"),
okText: '清除',
onOk: _this3.cleanAllMsg,
className: 'ignore-react-onclickoutside'
});
};
_this3.openSettings = function () {
var _this3$props5 = _this3.props,
history = _this3$props5.history,
AppState = _this3$props5.AppState;
history.push("/notify/receive-setting/project?type=user&organizationId=".concat(AppState.currentMenuType.organizationId));
};
_this3.handleButtonClick = function () {
var HeaderStore = _this3.props.HeaderStore;
if (!HeaderStore.inboxLoaded) {
HeaderStore.setInboxLoading(true);
_this3.getUnreadMsg();
}
_this3.handleVisibleChange(!HeaderStore.inboxVisible);
};
_this3.handleMessage = function (data) {
var HeaderStore = _this3.props.HeaderStore;
var newData = JSONBig.parse(data);
var count = HeaderStore.getUnreadMessageCount + (newData ? newData.number : 0) || 0;
HeaderStore.setUnreadMessageCount(count < 0 ? 0 : count);
_this3.props.HeaderStore.setInboxLoaded(false);
};
_this3.handleMessagePopClick = /*#__PURE__*/function () {
var _ref = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(messageId) {
var _HeaderStore$notifica;
var HeaderStore, res;
return regeneratorRuntime.wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
HeaderStore = _this3.props.HeaderStore;
_notification.close("msg-".concat(messageId));
(_HeaderStore$notifica = HeaderStore.notificationKeyList) === null || _HeaderStore$notifica === void 0 ? void 0 : _HeaderStore$notifica["delete"]("msg-".concat(messageId));
_this3.handleButtonClick();
if (messageId) {
_context.next = 6;
break;
}
return _context.abrupt("return");
case 6:
_context.prev = 6;
_context.next = 9;
return HeaderStore.loadMsgDetail(messageId);
case 9:
res = _context.sent;
if (res) {
setTimeout(function () {
_this3.handleMessageTitleClick(null, res);
}, 700);
}
_context.next = 15;
break;
case 13:
_context.prev = 13;
_context.t0 = _context["catch"](6);
case 15:
case "end":
return _context.stop();
}
}
}, _callee, null, [[6, 13]]);
}));
return function (_x) {
return _ref.apply(this, arguments);
};
}();
_this3.handleMessagePop = function (data) {
var _HeaderStore$notifica2;
var HeaderStore = _this3.props.HeaderStore;
var newData = JSONBig.parse(data);
var content = newData && newData.content && /*#__PURE__*/React.createElement("p", {
dangerouslySetInnerHTML: {
__html: "".concat(newData.content.replace(imgreg, '[图片]').replace(tablereg, '').replace(reg, '').replace(detailLinkReg, ''))
}
});
var notificationKey = "msg-".concat(newData === null || newData === void 0 ? void 0 : newData.messageId);
(_HeaderStore$notifica2 = HeaderStore.notificationKeyList) === null || _HeaderStore$notifica2 === void 0 ? void 0 : _HeaderStore$notifica2.add(notificationKey);
_notification.info({
key: notificationKey,
message: /*#__PURE__*/React.createElement("span", {
role: "none",
onClick: function onClick() {
return _this3.handleMessagePopClick(newData === null || newData === void 0 ? void 0 : newData.messageId);
}
}, newData && newData.title),
description: content,
duration: 5,
onClose: function onClose() {
var _HeaderStore$notifica3;
(_HeaderStore$notifica3 = HeaderStore.notificationKeyList) === null || _HeaderStore$notifica3 === void 0 ? void 0 : _HeaderStore$notifica3["delete"](notificationKey);
}
});
};
_this3.handleCloseAllNotification = function () {
var _HeaderStore$notifica4, _HeaderStore$notifica5;
var HeaderStore = _this3.props.HeaderStore;
(_HeaderStore$notifica4 = HeaderStore.notificationKeyList) === null || _HeaderStore$notifica4 === void 0 ? void 0 : _HeaderStore$notifica4.forEach(function (value) {
_notification.close(value);
});
(_HeaderStore$notifica5 = HeaderStore.notificationKeyList) === null || _HeaderStore$notifica5 === void 0 ? void 0 : _HeaderStore$notifica5.clear();
};
_this3.handleMessageClick = function (e) {
_this3.handleVisibleChange(false);
};
_this3.handleMessageTitleClick = function (e, data) {
// set as read && go to message detail
_this3.cleanMsg(e, data); // window.open(`/#/notify/user-msg?type=site&msgId=${data.id}&msgType=${data.type}`);
var HeaderStore = _this3.props.HeaderStore;
HeaderStore.setInboxDetailVisible(true);
HeaderStore.setInboxDetail(data);
};
_this3.handleVisibleChange = function (visible) {
var HeaderStore = _this3.props.HeaderStore;
HeaderStore.setInboxVisible(visible);
if (!visible) {
HeaderStore.setInboxDetailVisible(visible);
}
};
_this3.renderMessages = function (inboxData) {
var _this3$props6 = _this3.props,
AppState = _this3$props6.AppState,
HeaderStore = _this3$props6.HeaderStore;
if (inboxData.length > 0) {
var _HeaderStore$getOrgDa;
var org = HeaderStore === null || HeaderStore === void 0 ? void 0 : (_HeaderStore$getOrgDa = HeaderStore.getOrgData) === null || _HeaderStore$getOrgDa === void 0 ? void 0 : _HeaderStore$getOrgDa[0];
return /*#__PURE__*/React.createElement("ul", null, inboxData.map(function (data) {
var title = data.title,
content = data.content,
id = data.id,
sendTime = data.sendTime,
read = data.read,
sendDate = data.sendDate;
var realSendTime = 'sendDate' in data ? sendDate : sendTime;
var isMsg = ('messageId' in data);
var icon = /*#__PURE__*/React.createElement(_Icon, {
type: isMsg ? 'textsms' : 'volume_up',
className: "color-blue"
});
var iconWithBadge = read || !isMsg ? icon : /*#__PURE__*/React.createElement(_Badge, {
dot: true
}, icon);
var imageMatch = content.match(imgreg);
var showPicUrl = imageMatch && imageMatch.length > 0 ? imageMatch[2] : undefined;
return /*#__PURE__*/React.createElement("li", {
className: "".concat(prefixCls, "-sider-content-list"),
key: data.id
}, /*#__PURE__*/React.createElement("div", {
className: "".concat(prefixCls, "-sider-content-list-title")
}, /*#__PURE__*/React.createElement("span", {
style: {
overflow: 'hidden',
textOverflow: 'ellipsis',
whiteSpace: 'nowrap'
}
}, iconWithBadge, /*#__PURE__*/React.createElement("a", {
role: "none",
onClick: function onClick(e) {
return _this3.handleMessageTitleClick(e, data);
},
style: {
marginLeft: 10
}
}, title)), /*#__PURE__*/React.createElement("div", {
style: {
display: 'flex',
alignItems: 'center',
flexShrink: 0,
color: 'var(--text-color4)'
}
}, new Date() - new Date(realSendTime) >= 172800000 ? /*#__PURE__*/React.createElement("span", null, realSendTime) : /*#__PURE__*/React.createElement(TimePopover, {
content: realSendTime
}), isMsg ? /*#__PURE__*/React.createElement(_Icon, {
type: "close",
style: {
cursor: 'pointer',
marginLeft: 12,
fontSize: '20px'
},
onClick: function onClick(e) {
return _this3.deleteMsg(e, data);
}
}) : null)), /*#__PURE__*/React.createElement("div", {
className: "".concat(prefixCls, "-sider-content-list-description")
}, /*#__PURE__*/React.createElement("div", {
style: {
maxHeight: 63,
overflow: 'hidden'
}
}, content && /*#__PURE__*/React.createElement("p", {
id: "li-".concat(id),
dangerouslySetInnerHTML: {
__html: "".concat(content.replace(tablereg, '').replace(reg, '').replace(orgReg, "organizationId=".concat(org === null || org === void 0 ? void 0 : org.id)))
}
}), document.getElementById("#li-".concat(id)) && document.getElementById("#li-".concat(id)).offsetHeight > 63 ? /*#__PURE__*/React.createElement("a", {
href: "#",
target: "_blank",
rel: "noreferrer noopener"
}, /*#__PURE__*/React.createElement("span", null, "\u4E86\u89E3\u66F4\u591A"), /*#__PURE__*/React.createElement(_Icon, {
type: "open_in_new"
})) : null), showPicUrl ?
/*#__PURE__*/
// eslint-disable-next-line jsx-a11y/alt-text
React.createElement("img", {
style: {
maxWidth: '100%',
marginTop: 10
},
src: showPicUrl.replace(/&/g, '&')
}) : null));
}));
}
return /*#__PURE__*/React.createElement("div", {
className: "".concat(prefixCls, "-empty")
}, "\u6682\u65F6\u6CA1\u6709\u7AD9\u5185\u6D88\u606F");
};
return _this3;
}
_createClass(Inbox, [{
key: "componentDidMount",
value: function componentDidMount() {
var HeaderStore = this.props.HeaderStore;
HeaderStore.axiosGetUnreadMessageCount();
}
}, {
key: "getUnreadMsg",
value: function getUnreadMsg() {
var _this$props3 = this.props,
AppState = _this$props3.AppState,
HeaderStore = _this$props3.HeaderStore;
HeaderStore.axiosGetUserMsg(AppState.getUserId);
HeaderStore.axiosGetStick();
}
}, {
key: "render",
value: function render() {
var _this4 = this;
var _this$props4 = this.props,
AppState = _this$props4.AppState,
_this$props4$HeaderSt = _this$props4.HeaderStore,
inboxData = _this$props4$HeaderSt.inboxData,
inboxLoading = _this$props4$HeaderSt.inboxLoading,
getUnreadMessageCount = _this$props4$HeaderSt.getUnreadMessageCount,
getCurrentTheme = _this$props4$HeaderSt.getCurrentTheme,
notificationKeyList = _this$props4$HeaderSt.notificationKeyList;
var SelfButton = true ? _Button : _Button2;
var popOverContent = {
inboxData: inboxData,
inboxLoading: inboxLoading
};
return /*#__PURE__*/React.createElement("div", {
className: classNames({
'theme4-badge': true
})
}, /*#__PURE__*/React.createElement(WSHandler, {
messageKey: "hzero-web",
onMessage: this.handleMessage
}, function (data) {
return /*#__PURE__*/React.createElement(_Badge, {
onClick: _this4.handleButtonClick,
className: classNames([prefixCls], 'ignore-react-onclickoutside', {
'theme4-inbox-badge': true
}),
count: getUnreadMessageCount
}, /*#__PURE__*/React.createElement(SelfButton, {
className: classNames({
'theme4-inbox': true
}),
funcType: "flat"
}, /*#__PURE__*/React.createElement(_Icon, {
type: true ? 'notifications_none' : 'notifications'
})));
}), /*#__PURE__*/React.createElement(WSHandler, {
messageKey: "choerodon-pop-ups",
onMessage: this.handleMessagePop
}, function () {
return /*#__PURE__*/React.createElement(React.Fragment, null);
}), /*#__PURE__*/React.createElement(RenderPopoverContentClass, Object.assign({}, popOverContent, {
cleanAllMsg: this.cleanAllMsg,
renderMessages: this.renderMessages,
handleVisibleChange: this.handleVisibleChange,
handleSettingReceive: this.openSettings,
readAllMsg: this.readAllMsg,
openCleanAllModal: this.openCleanAllModal
})), (notificationKeyList === null || notificationKeyList === void 0 ? void 0 : notificationKeyList.size) > 2 ? /*#__PURE__*/createPortal( /*#__PURE__*/React.createElement("div", {
className: "".concat(prefixCls, "-notification-all")
}, /*#__PURE__*/React.createElement("span", null, "\u5171\u6709", notificationKeyList === null || notificationKeyList === void 0 ? void 0 : notificationKeyList.size, "\u6761\u901A\u77E5"), /*#__PURE__*/React.createElement(_Button2, {
onClick: this.handleCloseAllNotification
}, "\u5173\u95ED\u5168\u90E8")), document.body) : null);
}
}]);
return Inbox;
}(Component)) || _class5) || _class5) || _class5);
export { Inbox as default };