frc-ui
Version:
React Web UI
161 lines (132 loc) • 5.51 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _classnames = _interopRequireDefault(require("classnames"));
var _interfaces = require("../interfaces");
var _transparent = _interopRequireDefault(require("../images/transparent.png"));
var _Html = require("./Html");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
var underName = {
'4': '平安利顺'
};
var _default = function _default(data, content, callback) {
var node = null;
if (data.type === _interfaces.MessageType.TEXT) {
if (data.style) {
node = document.createElement('span');
node.innerHTML = data.content;
node.style = data.style;
} else {
node = document.createTextNode(data.content);
}
node.eleType = data.type;
} else if (data.type === _interfaces.MessageType.EMO) {
node = document.createElement('img');
node.className = (0, _classnames["default"])(['emojione', data.content]);
node.src = _transparent["default"];
} else if (data.type === _interfaces.MessageType.IMAGE) {
node = document.createElement('img');
node.className = (0, _classnames["default"])(['chat-image']);
node.src = data.content;
node.onclick = callback;
} else if (data.type === _interfaces.MessageType.LINK) {
node = document.createElement('a');
node.href = data.content;
node.className = (0, _classnames["default"])(['chat-link']);
node.target = '_blank';
node.innerHTML = data.content;
} else if (data.type === _interfaces.MessageType.HTML) {
node = document.createElement('div');
node.innerHTML = data.content;
var aa = node.getElementsByTagName('a');
var length = aa ? aa.length : 0;
for (var i = 0; i < length; i++) {
aa[i].target = '_blank';
}
} else if (data.type === _interfaces.MessageType.NEWS) {
node = document.createElement('div');
node.innerHTML = data.content;
var _aa = node.getElementsByTagName('a');
var _length = _aa ? _aa.length : 0;
for (var _i = 0; _i < _length; _i++) {
_aa[_i].target = '_blank';
}
} else if (data.type === _interfaces.MessageType.ELEMENT) {
node = document.createElement(data.content);
} else if (data.type === _interfaces.MessageType.GIF) {
node = gif(data, content, callback);
} else if (data.type === _interfaces.MessageType.SHOW_ALL) {
node = document.createElement('a');
node.innerText = data.content;
node.style = 'color:#0D4FB8;text-decoration:underline;margin-left:5px;';
node.onclick = callback;
} else if (data.type === _interfaces.MessageType.CUSTOM_PC) {
var d = data.content;
node = document.createElement('div');
var innerHTML = '<span>';
innerHTML += (0, _Html.title)("".concat(d.maturityTerm, " ").concat(d.shortName));
innerHTML += (0, _Html.fromItem)('【当前边际】:', !data.isHas ? '***' : d.bidRate === null ? '' : d.bidRate ? "".concat(d.bidRate, "%") : '');
innerHTML += (0, _Html.fromItem)('【全场倍数】:', !data.isHas ? '***' : d.marketMutiple === null ? '' : d.marketMutiple || '');
innerHTML += (0, _Html.fromItem)('【边际倍数】:', !data.isHas ? '***' : d.bidMultiple === null ? '' : d.bidMultiple || '');
innerHTML += (0, _Html.fromItem)('【发行人预期】:', !data.isHas ? '***' : d.issuerExpect === null ? '' : d.issuerExpect || '');
if (data.isHas) {
innerHTML += (0, _Html.fromItem)('【备 注】:', d.margGuid);
}
innerHTML += '</span>';
node.innerHTML = innerHTML;
if (!data.isHas && !data.isApply) {
node.appendChild((0, _Html.pca)(false, underName[d.underwriterId], callback));
} else if (!data.isHas && data.isApply) {
node.appendChild((0, _Html.pca)(true, underName[d.underwriterId], callback));
}
}
if (node) {
node.eleType = data.type;
node.content = data.content;
content.appendChild(node);
content.appendChild(document.createTextNode(''));
}
return node;
};
exports["default"] = _default;
var gif = function gif(data, content, callback) {
var node = document.createElement('div');
node.className = (0, _classnames["default"])(['collect-emoji-warp']);
var img = document.createElement('img');
img.src = data.content;
img.className = (0, _classnames["default"])(['custom-emoji']);
node.appendChild(img);
if (typeof callback !== 'function') {
return node;
}
var div = document.createElement('div');
var i = document.createElement('i');
div.className = (0, _classnames["default"])(['collect-emoji-div']);
i.className = (0, _classnames["default"])(['collect-emoji-icon sumscope-icon icon-star-o']);
div.appendChild(i);
div.onclick = function () {
callback(data.content);
};
var timeout = null;
node.onmouseover = function () {
if (timeout) {
clearTimeout(timeout);
timeout = null;
}
var rect = img.getBoundingClientRect();
div.style.cssText = 'width: ' + rect.width + 'px; ' + 'height: ' + rect.height + 'px; ' + 'top: ' + 0 + 'px; ' + 'left: ' + 0 + 'px;';
var min = Math.min(rect.width, rect.height);
i.style.cssText = 'font-size: ' + Math.round(min / 2) + 'px;';
node.appendChild(div);
};
node.onmouseout = function () {
timeout = setTimeout(function () {
node.removeChild(div);
clearTimeout(timeout);
timeout = null;
}, 200);
};
return node;
};