diff --git a/Oqtane.Client/Modules/Controls/RichTextEditor.razor b/Oqtane.Client/Modules/Controls/RichTextEditor.razor new file mode 100644 index 00000000..2a06a5a8 --- /dev/null +++ b/Oqtane.Client/Modules/Controls/RichTextEditor.razor @@ -0,0 +1,84 @@ +@namespace Oqtane.Modules.Controls +@inherits ModuleBase +@inject IJSRuntime JSRuntime + +
+ @ToolbarContent +
+
+
+ +@code { + [Parameter] + public RenderFragment ToolbarContent { get; set; } + + [Parameter] + public bool ReadOnly { get; set; } + = false; + + [Parameter] + public string Placeholder { get; set; } + = "Compose an epic..."; + + [Parameter] + public string Theme { get; set; } + = "snow"; + + [Parameter] + public string DebugLevel { get; set; } + = "info"; + + private ElementReference EditorElement; + private ElementReference ToolBar; + + protected override async Task + OnAfterRenderAsync(bool firstRender) + { + if (firstRender) + { + await RichTextEditorInterop.CreateEditor( + JSRuntime, + EditorElement, + ToolBar, + ReadOnly, + Placeholder, + Theme, + DebugLevel); + } + } + + public async Task GetText() + { + return await RichTextEditorInterop.GetText( + JSRuntime, + EditorElement); + } + + public async Task GetHTML() + { + return await RichTextEditorInterop.GetHTML( + JSRuntime, + EditorElement); + } + + public async Task GetContent() + { + return await RichTextEditorInterop.GetContent( + JSRuntime, + EditorElement); + } + + public async Task LoadContent(string Content) + { + await RichTextEditorInterop.LoadEditorContent( + JSRuntime, + EditorElement, Content); + } + + public async Task EnableEditor(bool mode) + { + await RichTextEditorInterop.EnableEditor( + JSRuntime, + EditorElement, mode); + } +} \ No newline at end of file diff --git a/Oqtane.Client/Modules/HtmlText/Edit.razor b/Oqtane.Client/Modules/HtmlText/Edit.razor index f9d891d4..4618aa09 100644 --- a/Oqtane.Client/Modules/HtmlText/Edit.razor +++ b/Oqtane.Client/Modules/HtmlText/Edit.razor @@ -1,5 +1,6 @@ @using Oqtane.Modules.HtmlText.Services @using Oqtane.Modules.HtmlText.Models +@using Oqtane.Modules.Controls @namespace Oqtane.Modules.HtmlText @inherits ModuleBase @inject NavigationManager NavigationManager @@ -12,10 +13,53 @@ -