1. Yes, I did. Here is my code:
<SfInPlaceEditor Mode="RenderMode.Popup" Type="InputType.Text" Value="@(StringHelper.Empty)" CssClass="hidden-inline-editor"
TValue="string" ShowButtons="true" ActionOnBlur="ActionBlur.Ignore" SubmitOnEnter="false" HtmlAttributes="@(new Dictionary<string, object>() { { "data-underline", "false" } })">
<InPlaceEditorEvents TValue="string" OnActionBegin="ActionBegin" BeginEdit="OnBeginEdit" />
<InPlaceEditorPopupSettings Title="@(StringLocalizer["Enter template and culture values for key"])" Model="new { Position = Position.LeftTop }" />
<InPlaceEditorTemplates>
<Template>
<form>
<div class="form-row mb-2 font-weight-bolder">
@KeyValue
</div>
<div class="form-row my-2">
@if (IsHtml)
{
<SfRichTextEditor @ref="RichTextEditor" EditorMode="EditorMode.HTML" @bind-Value="@Template" Placeholder="@(StringLocalizer["Template for {0}", KeyValue])"
EnableResize="true" UndoRedoSteps="50" ShowCharCount="true" EnableHtmlEncode="true">
<RichTextEditorToolbarSettings Items="@(new object[] {"Bold", "Italic", "SubScript", "SuperScript",
"LowerCase", "UpperCase", "|",
"Formats", "Alignments", "OrderedList", "UnorderedList",
"Outdent", "Indent", "|", "CreateTable",
"CreateLink", "Image", "|", "ClearFormat",
"SourceCode", "|", "Undo", "Redo"})"
EnableFloating="false" Type="ToolbarType.Expand" />
<RichTextEditorQuickToolbarSettings Image="@(new object[] {"Replace", "Align", "Caption", "Remove",
"InsertLink", "OpenImageLink", "-", "EditImageLink",
"RemoveImageLink", "Display", "AltText", "Dimension"})"
Link="@(new object[] { "Open", "Edit", "UnLink" })" />
<RichTextEditorPasteCleanupSettings PlainText="true" KeepFormat="false" />
<RichTextEditorImageSettings AllowedTypes="@(new string[] { ".png", ".jpg", ".svg" })" Display="inline" SaveUrl="/api/File/SaveRTEImages" Path="../Content/PageImages/"
Resize="true" ResizeByPercent="true" MaxWidth="500px" MaxHeight="500px" />
<RichTextEditorEvents ValueChange="OnChange" OnActionComplete="OnActionComplete" Created="OnCreated" />
</SfRichTextEditor>
}
else
{
<SfTextBox Multiline="true" ShowClearButton="true" FloatLabelType="FloatLabelType.Always" Placeholder="@(StringLocalizer["Template for {0}", KeyValue])"
Value="@(Template)" Input="@(args => OnTextInput(args))" CssClass="inline-editor-textarea" />
}
</div>
@if (Values != null)
{
@foreach (Culture culture in ServerStorage.AllCultures)
{
if (ServerStorage.InterpreterCultures.Contains(culture.Id))
{
if (EditDivContent != null)
{
<div class="form-group my-2">
<label for="divedit-@(culture.Id)">@(culture.Name)</label>
<div id="divedit-@(culture.Id)" class="div-textarea" onshow="ExpandArea(this)" oninput="ExpandArea(this)">
@EditDivContent[Field + "_" + culture.Id]
</div>
</div>
}
}
}
}
</form>
</Template>
</InPlaceEditorTemplates>
</SfInPlaceEditor>
2. I would like to make something like Google Smart Compose, but based on my own context. Here is the description:
3. Thank you, I will try it.
4. Yes, I found OnInput event in TextBox already. I asked if you have it in ReachTextEditor?