Your search did not match any results.
Html Editor

Mentions

The HtmlEditor allows a user to mention other users in the text. Users that can be mentioned are suggested in a drop-down list that gets its items from the dataSource.

The suggestion list appears when a user enters a specific marker. To mention a user, enter @ in the text field at the bottom and select the user from the list.

Data for mentions can be from multiple data sources. In this case, you can assign an individual marker to each of them.

@model IEnumerable<DevExtreme.NETCore.Demos.Models.EmployeeMention> <div id="chat-window"> <div class="message dx-theme-background-color"> <div class="photo"> <img src="../../images/mentions/Kevin-Carter.png" /> </div> <div class="name"> Kevin Carter </div> <div class="date"> 07/03/19 - 12:22AM </div> <div class="text"> <span class="dx-mention" spellcheck="false"><span><span>@@</span>John Heart</span></span> What experience do you have in this field? </div> </div> <br /> <div class="message dx-theme-background-color"> <div class="photo"> <img src="../../images/mentions/John-Heart.png" /> </div> <div class="name"> John Heart </div> <div class="date"> 07/03/19 - 12:25AM </div> <div class="text"> I've been in the audio/video industry since 2001, and I've been the CEO of DevAv since 2009. </div> </div> <br /> <div class="message dx-theme-background-color"> <div class="photo"> <img src="../../images/mentions/Kevin-Carter.png" /> </div> <div class="name"> Kevin Carter </div> <div class="date"> 07/03/19 - 12:26AM </div> <div class="text"> That's very interesting. <span class="dx-mention" spellcheck="false"><span><span>@@</span>Olivia Peyton</span></span>, what do you think? </div> </div> </div> @(Html.DevExtreme().HtmlEditor() .ID("html-editor") .Mentions(m => { m.Add().DataSource(Model).SearchExpr("text").DisplayExpr("text"); }) .Content(@<text> <p> <span class="dx-mention" spellcheck="false" data-marker="@@" data-mention-value="Kevin Carter"><span contenteditable = "false"><span>@@</span>Kevin Carter</span></span> I think John's expertise can be very valuable in our startup. </p> </text>) ) <script src="https://cdnjs.cloudflare.com/ajax/libs/quill/1.3.6/quill.min.js"></script>
using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using Microsoft.AspNetCore.Mvc; using DevExtreme.NETCore.Demos.Models.SampleData; namespace DevExtreme.NETCore.Demos.Controllers { public class HtmlEditorController : Controller { public IActionResult Mentions() { return View(SampleData.EmployeeMentions); } } }
using System; using System.Collections.Generic; using System.Linq; namespace DevExtreme.NETCore.Demos.Models { public class EmployeeMention { public int id { get; set; } public string text { get; set; } public string team { get; set; } public string icon { get; set; } } }
using System; using System.Collections.Generic; using System.Linq; namespace DevExtreme.NETCore.Demos.Models.SampleData { public partial class SampleData { public static List<EmployeeMention> EmployeeMentions { get { return new List<EmployeeMention> { new EmployeeMention { id = 1, text = "John Heart", team = "Engineering", icon = "../../images/mentions/John-Heart.png" }, new EmployeeMention { id = 2, text = "Kevin Carter", team = "Engineering", icon = "../../images/mentions/Kevin-Carter.png" }, new EmployeeMention { id = 3, text = "Olivia Peyton", team = "Management", icon = "../../images/mentions/Olivia-Peyton.png" }, new EmployeeMention { id = 4, text = "Robert Reagan", team = "Management", icon = "../../images/mentions/Robert-Reagan.png" }, new EmployeeMention { id = 5, text = "Cynthia Stanwick", team = "Engineering", icon = "../../images/mentions/Cynthia-Stanwick.png" }, new EmployeeMention { id = 6, text = "Brett Wade", team = "Analysis", icon = "../../images/mentions/Brett-Wade.png" }, new EmployeeMention { id = 7, text = "Greta Sims", team = "QA", icon = "../../images/mentions/Greta-Sims.png" } }; } } } }
#chat-window { background-color: rgba(191, 191, 191, 0.15); height: 350px; padding: 10px; } .dx-htmleditor { height: 100px; } #send { float: right; margin: 10px 0px; } .message { height: 85px; background-color: inherit; display: inline-block; max-width: 60%; border-radius: 5px; margin: 5px; padding: 10px; box-shadow: 0px 2px 6px rgba(0, 0, 0, 0.1); } .name { font-weight: bold; } .date { opacity: 0.5; } .photo { float: left; height: 100%; } .photo > img { width: 40px; height: 40px; display: block; border-radius: 40px; margin-right: 10px; }