[DE PE SSE mobile] Bug 51134

This commit is contained in:
SergeyEzhin 2021-07-08 21:18:15 +03:00
parent bda56a292b
commit 6d818e120a

View file

@ -578,51 +578,53 @@ const pickLink = (message) => {
if (result)
subStr = subStr.substring(0, result.index);
offset = arguments[arguments.length-2];
arrayComment.push({start: offset, end: subStr.length+offset, str: <a onClick={() => window.open(subStr)} href={subStr} target="_blank" data-can-copy="true">{subStr}</a>});
arrayComment.push({start: offset, end: subStr.length+offset, str: `<a href="${subStr}" href={subStr} target="_blank" data-can-copy="true">${subStr}</a>`});
return '';
});
if (message.length<1000 || message.search(/\S{255,}/)<0)
message.replace(Common.Utils.hostnameStrongRe, function(subStr) {
let result = /[\.,\?\+;:=!\(\)]+$/.exec(subStr);
if (result)
subStr = subStr.substring(0, result.index);
let ref = (! /(((^https?)|(^ftp)):\/\/)/i.test(subStr) ) ? ('http://' + subStr) : subStr;
offset = arguments[arguments.length-2];
len = subStr.length;
let elem = arrayComment.find(function(item){
return ( (offset>=item.start) && (offset<item.end) ||
message.replace(Common.Utils.hostnameStrongRe, function(subStr) {
let result = /[\.,\?\+;:=!\(\)]+$/.exec(subStr);
if (result)
subStr = subStr.substring(0, result.index);
let ref = (! /(((^https?)|(^ftp)):\/\/)/i.test(subStr) ) ? ('http://' + subStr) : subStr;
offset = arguments[arguments.length-2];
len = subStr.length;
let elem = arrayComment.find(function(item){
return ( (offset>=item.start) && (offset<item.end) ||
(offset<=item.start) && (offset+len>item.start));
});
if (!elem)
arrayComment.push({start: offset, end: len+offset, str: `<a href="${ref}" target="_blank" data-can-copy="true">${subStr}</a>`});
return '';
});
message.replace(Common.Utils.emailStrongRe, function(subStr) {
let ref = (! /((^mailto:)\/\/)/i.test(subStr) ) ? ('mailto:' + subStr) : subStr;
offset = arguments[arguments.length-2];
len = subStr.length;
let elem = arrayComment.find(function(item){
return ( (offset>=item.start) && (offset<item.end) ||
(offset<=item.start) && (offset+len>item.start));
});
if (!elem)
arrayComment.push({start: offset, end: len+offset, str: <a onClick={() => window.open(ref)} href={ref} target="_blank" data-can-copy="true">{subStr}</a>});
return '';
});
});
if (!elem)
arrayComment.push({start: offset, end: len+offset, str: `<a href="${ref}">${subStr}</a>`});
return '';
});
message.replace(Common.Utils.emailStrongRe, function(subStr) {
let ref = (! /((^mailto:)\/\/)/i.test(subStr) ) ? ('mailto:' + subStr) : subStr;
offset = arguments[arguments.length-2];
len = subStr.length;
let elem = arrayComment.find(function(item){
return ( (offset>=item.start) && (offset<item.end) ||
(offset<=item.start) && (offset+len>item.start));
});
if (!elem)
arrayComment.push({start: offset, end: len+offset, str: <a onClick={() => window.open(ref)} href={ref}>{subStr}</a>});
return '';
});
arrayComment = arrayComment.sort(function(item1,item2){ return item1.start - item2.start; });
arrayComment = arrayComment.sort(function(item1,item2){ return item1.start - item2.start; });
let str_res = (arrayComment.length>0) ? (Common.Utils.String.htmlEncode(message.substring(0, arrayComment[0].start)) + arrayComment[0].str) : Common.Utils.String.htmlEncode(message);
let str_res = (arrayComment.length>0) ? <label>{Common.Utils.String.htmlEncode(message.substring(0, arrayComment[0].start))}{arrayComment[0].str}</label> : <label>{Common.Utils.String.htmlEncode(message)}</label>;
for (var i=1; i<arrayComment.length; i++) {
str_res = <label>{str_res}{Common.Utils.String.htmlEncode(message.substring(arrayComment[i-1].end, arrayComment[i].start))}{arrayComment[i].str}</label>;
}
if (arrayComment.length>0) {
str_res = <label>{str_res}{Common.Utils.String.htmlEncode(message.substring(arrayComment[i-1].end, message.length))}</label>;
}
return str_res;
for (var i=1; i<arrayComment.length; i++) {
str_res += (Common.Utils.String.htmlEncode(message.substring(arrayComment[i-1].end, arrayComment[i].start)) + arrayComment[i].str);
}
if (arrayComment.length>0) {
str_res += Common.Utils.String.htmlEncode(message.substring(arrayComment[i-1].end, message.length));
}
return str_res;
}
// View comments
@ -656,6 +658,7 @@ const ViewComments = ({storeComments, storeAppOptions, onCommentMenuClick, onRes
<div className='no-comments'>{_t.textNoComments}</div> :
<List className='comment-list'>
{sortComments.map((comment, indexComment) => {
console.log(comment);
return (
<ListItem key={`comment-${indexComment}`} onClick={e => {
!e.target.closest('.comment-menu') && !e.target.closest('.reply-menu') ? showComment(comment) : null}}>