BlazorBasics.RichTextEditor
1.0.4
See the version list below for details.
dotnet add package BlazorBasics.RichTextEditor --version 1.0.4
NuGet\Install-Package BlazorBasics.RichTextEditor -Version 1.0.4
<PackageReference Include="BlazorBasics.RichTextEditor" Version="1.0.4" />
paket add BlazorBasics.RichTextEditor --version 1.0.4
#r "nuget: BlazorBasics.RichTextEditor, 1.0.4"
// Install BlazorBasics.RichTextEditor as a Cake Addin #addin nuget:?package=BlazorBasics.RichTextEditor&version=1.0.4 // Install BlazorBasics.RichTextEditor as a Cake Tool #tool nuget:?package=BlazorBasics.RichTextEditor&version=1.0.4
Description
A simple Rich Text Editor for Blazor Server or Blazor WebAssembly applications. This rich text editor is based in Quill JavaScript.
How to use
Nugget installation
PM> Install-Package BlazorBasics.RichTextEditor
Or clone the repository and add the project to your solution.<br/>
Add the component where you want to show rich text editor like this example:
<RichTextEditorComponent Html=HtmlMarkupString OnSave="SaveHtml"/>
@code{
MarkupString HtmlMarkupString =
new MarkupString("<p>A long time ago in a galaxi far, far away...</p>");
void SaveHtml(string html){
//process your data
}
}
Options
- Disable paste images if you don't like to allow base64 image insert into the document
- Show/Hide Images button to allow or not user can insert images
- You can use your API to upload images
- Show/Hide Save button into the menu
Upload Images to the API
You will receive a object from the editor like
public class FileUpload
{
public string FileName { get; set; }
public byte[] FileBytes { get; set; }
public FileUpload(string fileName, byte[] fileBytes)
{
FileName = fileName;
FileBytes = fileBytes;
}
}
Then need a Task to return a string with the URL about where is located the image. If don't return a url and return string.Empty editor add the image into de document like a image/base64 but you also can manage the image, to register in a database for example.
<RichTextEditorComponent Html=HtmlMarkupString OnSave="SaveHtml" UploadFile=UploadFile/>
@code{
MarkupString HtmlMarkupString =
new MarkupString("<p>A long time ago in a galaxi far, far away...</p>");
void SaveHtml(string html){
//process your data
}
async Task<string> UploadFile(FileUpload file)
{
string url = await YourApiToUploadFiles.SaveFile(file);
return url;
}
}
Disable upload and paste images
<RichTextEditorComponent Html=HtmlMarkupString OnSave="SaveHtml" HideImageButton=true AvoidPasteImages=true/>
@code{
MarkupString HtmlMarkupString =
new MarkupString("<p>A long time ago in a galaxi far, far away...</p>");
void SaveHtml(string html){
//process your data
}
}
If you want to use a external save button
If you want to use external save button it's much better use the property HideSaveButton=true to avoid user can see 2 save buttons, into the editor and outside the editor
<RichTextEditorComponent Html=HtmlMarkupString OnSave="SaveHtml" @ref=Editor HideSaveButton=true />
<button @onclick=Save>Save</button>
@code{
RichTextEditorComponent Editor;
MarkupString HtmlMarkupString =
new MarkupString("<p>A long time ago in a galaxi far, far away...</p>");
string Html;
void SaveHtml(string html){
Html = html;
}
async Task Save(){
await Editor.GetContent();
//process your data
}
}
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net7.0 is compatible. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
-
net7.0
- Microsoft.AspNetCore.Components.Web (>= 7.0.7)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Fixed regex got the correct html tags to verify if have content