diff --git a/web/documentserver-example/csharp-mvc/Helpers/Users.cs b/web/documentserver-example/csharp-mvc/Helpers/Users.cs index acfc4ada..a9f724cf 100644 --- a/web/documentserver-example/csharp-mvc/Helpers/Users.cs +++ b/web/documentserver-example/csharp-mvc/Helpers/Users.cs @@ -17,6 +17,7 @@ */ using System.Collections.Generic; +using System.Linq; namespace OnlineEditorsExampleMVC.Helpers { @@ -42,6 +43,24 @@ namespace OnlineEditorsExampleMVC.Helpers { return users; } + + public static List> getUsersForMentions(string id) + { + List> usersData = new List>(); + + foreach (User user in users) + { + if (!user.id.Equals(id) && user.name != null && user.email != null) + { + usersData.Add(new Dictionary() + { + {"name", user.name }, + {"email", user.email }, + }); + } + } + return usersData; + } } public class User diff --git a/web/documentserver-example/csharp-mvc/Models/FileModel.cs b/web/documentserver-example/csharp-mvc/Models/FileModel.cs index 0ca08e24..1667b9a9 100644 --- a/web/documentserver-example/csharp-mvc/Models/FileModel.cs +++ b/web/documentserver-example/csharp-mvc/Models/FileModel.cs @@ -365,5 +365,14 @@ namespace OnlineEditorsExampleMVC.Models dataMailMergeRecipients = jss.Serialize(mailMergeConfig); } + + //get a users mentions + public void GetUsersMentions(HttpRequest request, out string users) + { + var jss = new JavaScriptSerializer(); + var id = request.Cookies.GetOrDefault("uid", null); + var user = Users.getUser(id); + users = jss.Serialize(Users.getUsersForMentions(user.id)); + } } } \ No newline at end of file diff --git a/web/documentserver-example/csharp-mvc/Views/Home/Editor.aspx b/web/documentserver-example/csharp-mvc/Views/Home/Editor.aspx index 361202eb..3e979f9e 100644 --- a/web/documentserver-example/csharp-mvc/Views/Home/Editor.aspx +++ b/web/documentserver-example/csharp-mvc/Views/Home/Editor.aspx @@ -135,6 +135,21 @@ docEditor.setMailMergeRecipients(<%= dataMailMergeRecipients%>); // insert recipient data for mail merge into the file }; + var onRequestUsers = function () { + <% string users; %> + <% Model.GetUsersMentions(Request, out users); %> + docEditor.setUsers({ + "users": <%= users%> + }); + }; + + var onRequestSendNotify = function (event) { + var actionLink = JSON.stringify(event.data.actionLink); + console.log("onRequestSendNotify:"); + console.log(event.data); + console.log("Link to comment: " + replaceActionLink(location.href, actionLink)); + }; + var config = <%= Model.GetDocConfig(Request, Url) %>; config.width = "100%"; @@ -151,6 +166,8 @@ "onRequestInsertImage": onRequestInsertImage, "onRequestCompareFile": onRequestCompareFile, "onRequestMailMergeRecipients": onRequestMailMergeRecipients, + "onRequestUsers": onRequestUsers, + "onRequestSendNotify": onRequestSendNotify, }; <% string hist, histData; %>