UNPKG

frc-ui

Version:

React Web UI

161 lines (132 loc) 5.51 kB
"use strict"; 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, "&nbsp;&nbsp;&nbsp;").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)('【备&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;注】:', 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; };