Find emails for sending invitation (begins with + or @) when adding comment.

This commit is contained in:
Julia Radzhabova 2018-10-11 10:32:39 +03:00
parent bc21451d4f
commit 58a1ddb834
3 changed files with 30 additions and 1 deletions

View file

@ -1341,7 +1341,7 @@ define([
this.api.asc_addComment(comment);
this.view.showEditContainer(false);
this.view.pickEMail(commentVal);
if (!_.isUndefined(this.api.asc_SetDocumentPlaceChangedEnabled)) {
this.api.asc_SetDocumentPlaceChangedEnabled(false);
}

View file

@ -90,6 +90,7 @@ Common.Utils = _.extend(new(function() {
hostnameRe = /^(((https?)|(ftps?)):\/\/)?([\-\wа-яё]*:?[\-\wа-яё]*@)?(([\-\wа-яё]+\.)+[\wа-яё\-]{2,}(:\d+)?(\/[%\-\wа-яё]*(\.[\wа-яё]{2,})?(([\wа-яё\-\.\?\\\/+@&#;:`'~=%!,\(\)]*)(\.[\wа-яё]{2,})?)*)*\/?)/i,
localRe = /^(((https?)|(ftps?)):\/\/)([\-\wа-яё]*:?[\-\wа-яё]*@)?(([\-\wа-яё]+)(:\d+)?(\/[%\-\wа-яё]*(\.[\wа-яё]{2,})?(([\wа-яё\-\.\?\\\/+@&#;:`'~=%!,\(\)]*)(\.[\wа-яё]{2,})?)*)*\/?)/i,
emailStrongRe = /(mailto:)?([a-z0-9'\._-]+@[a-z0-9\.-]+\.[a-z0-9]{2,4})([a-яё0-9\._%+-=\?:&]*)/ig,
emailAddStrongRe = /(mailto:|\s[@]|\s[+])?([a-z0-9'\._-]+@[a-z0-9\.-]+\.[a-z0-9]{2,4})([a-яё0-9\._%+-=\?:&]*)/ig,
ipStrongRe = /(((https?)|(ftps?)):\/\/([\-\wа-яё]*:?[\-\wа-яё]*@)?)(((1[0-9]{2}|2[0-4][0-9]|25[0-5]|[1-9][0-9]|[0-9])\.){3}(1[0-9]{2}|2[0-4][0-9]|25[0-5]|[1-9][0-9]|[0-9]))(:\d+)?(\/[%\-\wа-яё]*(\.[\wа-яё]{2,})?(([\wа-яё\-\.\?\\\/+@&#;:`~=%!,\(\)]*)(\.[\wа-яё]{2,})?)*)*\/?/ig,
hostnameStrongRe = /((((https?)|(ftps?)):\/\/([\-\wа-яё]*:?[\-\wа-яё]*@)?)|(([\-\wа-яё]*:?[\-\wа-яё]*@)?www\.))((([\-\wа-яё]+\.)+[\wа-яё\-]{2,}|([\-\wа-яё]+))(:\d+)?(\/[%\-\wа-яё]*(\.[\wа-яё]{2,})?(([\wа-яё\-\.\?\\\/+@&#;:`~=%!,\(\)]*)(\.[\wа-яё]{2,})?)*)*\/?)/ig,
documentSettingsType = {
@ -200,6 +201,7 @@ Common.Utils = _.extend(new(function() {
hostnameRe: hostnameRe,
localRe: localRe,
emailStrongRe: emailStrongRe,
emailAddStrongRe: emailAddStrongRe,
ipStrongRe: ipStrongRe,
hostnameStrongRe: hostnameStrongRe,
documentSettingsType: documentSettingsType,

View file

@ -674,6 +674,27 @@ define([
return '';
});
/* message.replace(Common.Utils.emailAddStrongRe, function(subStr, addStr, mailStr) {
// var addition = subStr.match(/^(\s[@]|\s[+])(\S*)/) || '';
// if (addition) {
// subStr = addition[2];
// addition = addition[1]; // + or @
// console.log(subStr);
// }
// if (addStr)
// console.log(subStr + ', ' + mailStr); // send email
var ref = (! /((^mailto:)\/\/)/i.test(mailStr) ) ? ('mailto:' + mailStr) : mailStr;
offset = arguments[arguments.length-2];
len = subStr.length;
var elem = _.find(arr, function(item){
return ( (offset>=item.start) && (offset<item.end) ||
(offset<=item.start) && (offset+len>item.start));
});
if (!elem)
arr.push({start: offset, end: len+offset, str: (addStr || '') + '<a href="' + ref + '">' + mailStr + '</a>'});
return '';
});
*/
message.replace(Common.Utils.emailStrongRe, function(subStr) {
var ref = (! /((^mailto:)\/\/)/i.test(subStr) ) ? ('mailto:' + subStr) : subStr;
offset = arguments[arguments.length-2];
@ -700,6 +721,12 @@ define([
return str_res;
},
pickEMail: function (message) {
var arr = Common.Utils.String.htmlEncode(message).match(/\B[@+][A-Z0-9._%+-]+@[A-Z0-9._]+\.[A-Z]+\b/gi);
console.log(arr); // send e-mails
return arr;
},
textComments : 'Comments',
textAnonym : 'Guest',
textAddCommentToDoc : 'Add Comment to Document',