From 1be1c171480106759333e6dcb423039fcca79b2d Mon Sep 17 00:00:00 2001 From: KokilaSF4836 Date: Thu, 5 Feb 2026 10:07:02 +0530 Subject: [PATCH] 1008006: Add Integration Documentation for Embedly and Image Editor in Syncfusion Rich Text Editor Blazor --- blazor-toc.html | 4 +- .../code-snippet/embedly-interop.js | 34 +++ .../code-snippet/embedly.razor | 46 ++++ .../image-editor-integration.razor | 231 ++++++++++++++++++ .../code-snippet/image-editor-interop.js | 64 +++++ blazor/rich-text-editor/embedly.md | 158 ++++++++++++ .../image-editor-integration.md | 115 +++++++++ .../images/blazor-richtexteditor-embedly.png | Bin 0 -> 53185 bytes 8 files changed, 651 insertions(+), 1 deletion(-) create mode 100644 blazor/rich-text-editor/code-snippet/embedly-interop.js create mode 100644 blazor/rich-text-editor/code-snippet/embedly.razor create mode 100644 blazor/rich-text-editor/code-snippet/image-editor-integration.razor create mode 100644 blazor/rich-text-editor/code-snippet/image-editor-interop.js create mode 100644 blazor/rich-text-editor/embedly.md create mode 100644 blazor/rich-text-editor/image-editor-integration.md create mode 100644 blazor/rich-text-editor/images/blazor-richtexteditor-embedly.png diff --git a/blazor-toc.html b/blazor-toc.html index c2e88a806c..a57986d30a 100644 --- a/blazor-toc.html +++ b/blazor-toc.html @@ -4219,7 +4219,9 @@
  • Validation and Security diff --git a/blazor/rich-text-editor/code-snippet/embedly-interop.js b/blazor/rich-text-editor/code-snippet/embedly-interop.js new file mode 100644 index 0000000000..b4cd2e0a0f --- /dev/null +++ b/blazor/rich-text-editor/code-snippet/embedly-interop.js @@ -0,0 +1,34 @@ +window.embedlyInterop = { + wrapLinkInEmbedlyCard: function() { + const rteContent = document.querySelector('.e-rte-content'); + if (!rteContent) return; + + const links = rteContent.querySelectorAll('a'); + links.forEach(link => { + if (!link.closest('.embedly-card')) { + const blockquote = document.createElement('blockquote'); + blockquote.className = 'embedly-card'; + + const a = document.createElement('a'); + a.href = link.href; + a.textContent = link.textContent || link.href; + + blockquote.appendChild(a); + blockquote.appendChild(document.createElement('p')); + + link.parentNode.replaceChild(blockquote, link); + } + }); + + if (window.embedly && window.embedly.lib) { + window.embedly.lib.process(rteContent); + } + } +}; + +// Initialize Embedly processing on page load +function initializeEmbedly() { + if (window.embedly && window.embedly.lib) { + window.embedly.lib.process(document.body); + } +} \ No newline at end of file diff --git a/blazor/rich-text-editor/code-snippet/embedly.razor b/blazor/rich-text-editor/code-snippet/embedly.razor new file mode 100644 index 0000000000..7600c84400 --- /dev/null +++ b/blazor/rich-text-editor/code-snippet/embedly.razor @@ -0,0 +1,46 @@ +@page "/embedly" + +@using Syncfusion.Blazor.RichTextEditor +@using Syncfusion.Blazor + +@inject IJSRuntime JS + + + + + + +

    Embedly integration automatically transforms plain links into rich, interactive preview cards with titles, descriptions, and thumbnails.

    +

    How it works:

    +
      +
    • Paste or create links - Use the CreateLink toolbar button to add URLs to the editor
    • +
    • Automatic card rendering - Links are automatically converted to rich Embedly cards with preview, title, and description
    • +
    • Supported content - Works with articles, videos, images, documents, and other embeddable web content
    • +
    +
    +
    + +@code { + private SfRichTextEditor Editor; + + private List ToolbarItems = new() + { + new ToolbarItemModel { Command = ToolbarCommand.CreateLink } + }; + + private async Task OnActionComplete(ActionCompleteEventArgs args) + { + if (args.RequestType == "Links") + { + await JS.InvokeVoidAsync("embedlyInterop.wrapLinkInEmbedlyCard"); + } + } + + protected override async Task OnAfterRenderAsync(bool firstRender) + { + if (firstRender) + { + await JS.InvokeVoidAsync("initializeEmbedly"); + } + } +} \ No newline at end of file diff --git a/blazor/rich-text-editor/code-snippet/image-editor-integration.razor b/blazor/rich-text-editor/code-snippet/image-editor-integration.razor new file mode 100644 index 0000000000..bcfe636c7d --- /dev/null +++ b/blazor/rich-text-editor/code-snippet/image-editor-integration.razor @@ -0,0 +1,231 @@ +@page "/imageeditorintegration" + +@using Syncfusion.Blazor.RichTextEditor +@using Syncfusion.Blazor.ImageEditor +@using Syncfusion.Blazor.Popups +@inject IJSRuntime jsRuntime + + + + + + + + + + + + + + + + + + + @if (IsImageEditorOpen) + { + + + + } + + + + + + + + + + +@code { + private SfRichTextEditor EditorRef; + private SfDialog DialogRef; + private SfImageEditor ImageEditorRef; + private object DotNetRef; + private bool ShowDialog = false; + private bool IsImageEditorOpen = false; + private string CurrentImageSrc = string.Empty; + private string RteValue = @"

    Rich Text Editor with Image Editing

    +

    This Rich Text Editor allows you to edit images directly within your content. Select any image and use the Edit Image button to access image editing tools.

    +

    How to Use

    +
      +
    1. Click on an image in the editor to select it
    2. +
    3. Click the Edit Image button in the main toolbar
    4. +
    5. Use the editing tools: crop, zoom, filter, annotate, and fine-tune
    6. +
    7. Click Insert to replace the original image with your edited version
    8. +
    +

    Available Features

    +
      +
    • Crop and resize images
    • +
    • Apply filters and adjustments
    • +
    • Rotate and flip images
    • +
    • Add annotations and drawings
    • +
    • Support for JPG, PNG, GIF, and WebP formats
    • +
    +

    Sample Image

    +

    Select the image below to start editing:

    +

    "; + + private List ImageEditorToolbar = new List() + { + new ImageEditorToolbarItemModel() { Name = "Open" }, + new ImageEditorToolbarItemModel() { Name = "Zoom" }, + new ImageEditorToolbarItemModel() { Name = "Crop" }, + new ImageEditorToolbarItemModel() { Name = "Annotation" }, + new ImageEditorToolbarItemModel() { Name = "Finetune" }, + new ImageEditorToolbarItemModel() { Name = "Filter" }, + new ImageEditorToolbarItemModel() { Name = "Reset" } + }; + + private List Items = new List() + { + new ToolbarItemModel() { Command = ToolbarCommand.Undo }, + new ToolbarItemModel() { Command = ToolbarCommand.Redo }, + new ToolbarItemModel() { Command = ToolbarCommand.Separator }, + new ToolbarItemModel() { Command = ToolbarCommand.Bold }, + new ToolbarItemModel() { Command = ToolbarCommand.Italic }, + new ToolbarItemModel() { Command = ToolbarCommand.Underline }, + new ToolbarItemModel() { Command = ToolbarCommand.Separator }, + new ToolbarItemModel() { Command = ToolbarCommand.CreateLink }, + new ToolbarItemModel() { Command = ToolbarCommand.Image }, + new ToolbarItemModel() { Command = ToolbarCommand.Separator }, + new ToolbarItemModel() { Name = "ImageEditor", TooltipText = "Edit Image" }, + new ToolbarItemModel() { Command = ToolbarCommand.SourceCode }, + new ToolbarItemModel() { Command = ToolbarCommand.FullScreen } + }; + + private List ImageQuickTools = new List() + { + new ImageToolbarItemModel() { Command = ImageToolbarCommand.Replace }, + new ImageToolbarItemModel() { Command = ImageToolbarCommand.Align }, + new ImageToolbarItemModel() { Command = ImageToolbarCommand.Caption }, + new ImageToolbarItemModel() { Command = ImageToolbarCommand.Remove }, + new ImageToolbarItemModel() { Command = ImageToolbarCommand.Separator }, + new ImageToolbarItemModel() { Command = ImageToolbarCommand.InsertLink }, + new ImageToolbarItemModel() { Command = ImageToolbarCommand.Display }, + new ImageToolbarItemModel() { Command = ImageToolbarCommand.AltText }, + new ImageToolbarItemModel() { Command = ImageToolbarCommand.Dimension } + }; + + protected override void OnInitialized() + { + DotNetRef = DotNetObjectReference.Create(this as object); + } + + protected override async Task OnAfterRenderAsync(bool firstRender) + { + if (firstRender) + { + await jsRuntime.InvokeAsync("rteInterop.onInitialized", DotNetRef); + } + } + + private async Task OnImageEditorClick() + { + if (EditorRef == null) { + return; + } + await EditorRef.SaveSelectionAsync(); + var selectedHtml = await EditorRef.GetSelectedHtmlAsync(); + if (string.IsNullOrWhiteSpace(selectedHtml) || !selectedHtml.Contains("]+)['\"]?", System.Text.RegularExpressions.RegexOptions.IgnoreCase); + CurrentImageSrc = srcMatch.Success ? srcMatch.Groups[1].Value : string.Empty; + } + catch + { + CurrentImageSrc = string.Empty; + } + } + + private void OnDialogOpened(Syncfusion.Blazor.Popups.OpenEventArgs args) + { + if (!IsImageEditorOpen) + { + IsImageEditorOpen = true; + StateHasChanged(); + } + } + + private void OnDialogClosed(Syncfusion.Blazor.Popups.CloseEventArgs args) + { + IsImageEditorOpen = false; + } + + private async Task OnEditorCreated() + { + if (ImageEditorRef != null && !string.IsNullOrEmpty(CurrentImageSrc)) + { + await Task.Delay(100); + await ImageEditorRef.OpenAsync(CurrentImageSrc); + } + } + + [JSInvokable] + public async Task FileSelected(string imageUrl) + { + if (ImageEditorRef != null) + { + await ImageEditorRef.OpenAsync(imageUrl); + } + } + + private async Task OnSaveReplace() + { + if (ImageEditorRef == null || EditorRef == null) { + return; + } + + var imageDataUrl = await ImageEditorRef.GetImageDataUrlAsync(); + if (string.IsNullOrEmpty(imageDataUrl)) { + return; + } + + string newImageHtml = $@"\"Edited"; + + if (!string.IsNullOrEmpty(CurrentImageSrc)) + { + string escapedOldSrc = System.Text.RegularExpressions.Regex.Escape(CurrentImageSrc); + RteValue = System.Text.RegularExpressions.Regex.Replace( + RteValue, + @"]*src=\"?" + escapedOldSrc + @"\"?[^>]*>", + newImageHtml, + System.Text.RegularExpressions.RegexOptions.IgnoreCase + ); + } + else + { + RteValue += newImageHtml; + } + + ShowDialog = false; + CurrentImageSrc = string.Empty; + StateHasChanged(); + } + + private Task OnCancel() + { + ShowDialog = false; + return Task.CompletedTask; + } +} + \ No newline at end of file diff --git a/blazor/rich-text-editor/code-snippet/image-editor-interop.js b/blazor/rich-text-editor/code-snippet/image-editor-interop.js new file mode 100644 index 0000000000..405bf14e88 --- /dev/null +++ b/blazor/rich-text-editor/code-snippet/image-editor-interop.js @@ -0,0 +1,64 @@ +window.canvasInterop = { + detectedFormat: null +}; + +window.rteInterop = { + objRef: null, + onInitialized: function (objRef) { + window.rteInterop.objRef = objRef; + var fileInput = document.getElementById('rte-img-upload'); + if (fileInput) { + fileInput.onchange = function (e) { + if (e.target.files && e.target.files.length > 0) { + var file = e.target.files[0]; + window.canvasInterop.detectedFormat = file.type; + var reader = new FileReader(); + reader.onload = function (event) { + window.rteInterop.objRef.invokeMethodAsync('FileSelected', event.target.result); + }; + reader.readAsDataURL(file); + e.target.value = ''; + } + }; + } + return true; + }, + fileSelect: function () { + var inputFile = document.getElementById('rte-img-upload'); + if (inputFile) { + inputFile.click(); + } + return true; + }, + getEditedImageData: function () { + var imageEditor = document.querySelector('.e-image-editor'); + if (!imageEditor) { + return ''; + } + var dataId = imageEditor.getAttribute('data-control-id'); + var instance = null; + + if (!dataId && window.sfBlazor) { + instance = window.sfBlazor.getCompInstance(imageEditor); + } else if (dataId && window.sfBlazor) { + instance = window.sfBlazor.getCompInstance(dataId); + } + + if (instance && instance.getImageData) { + var imageData = instance.getImageData(); + if (imageData) { + var tempCanvas = document.createElement('canvas'); + tempCanvas.width = imageData.width; + tempCanvas.height = imageData.height; + var ctx = tempCanvas.getContext('2d'); + ctx.putImageData(imageData, 0, 0); + if (window.canvasInterop.detectedFormat) { + return tempCanvas.toDataURL(window.canvasInterop.detectedFormat); + } else { + return tempCanvas.toDataURL(); + } + } + } + return ''; + } +}; \ No newline at end of file diff --git a/blazor/rich-text-editor/embedly.md b/blazor/rich-text-editor/embedly.md new file mode 100644 index 0000000000..e77185a9f8 --- /dev/null +++ b/blazor/rich-text-editor/embedly.md @@ -0,0 +1,158 @@ +--- +layout: post +title: Embedly Integration with RichTextEditor Component | Syncfusion +description: Checkout and learn how to integrate Embedly with Blazor RichTextEditor to convert URLs into rich preview cards for enhanced content presentation. +platform: Blazor +control: RichTextEditor +documentation: ug +--- + +# Embedly Integration with RichTextEditor + +By integrating [Embedly](https://www.embedly.com) with the Blazor RichTextEditor, you can automatically convert URLs into rich preview cards. This integration allows users to insert links that render as interactive embed cards, enhancing the visual presentation and user experience when sharing web content. + +## Overview + +This documentation provides a complete integration of Embedly with the RichTextEditor component. Users can: + +- Insert links in the editor content +- Links automatically render as interactive Embedly embed cards +- Support for various content types (videos, articles, social media, etc.) +- Interactive embed cards enhance content visibility and engagement + +## Prerequisites + +- **Syncfusion.Blazor NuGet package** installed and configured +- **Required namespaces:** + - `Syncfusion.Blazor.RichTextEditor` +- **JavaScript interop enabled** — `IJSRuntime` support +- **Embedly CDN access** — https://cdn.embedly.com/widgets/platform.js + +> Before integrating Embedly with RichTextEditor, refer to the [RichTextEditor Getting Started](https://blazor.syncfusion.com/documentation/rich-text-editor/getting-started) documentation for initial setup. + +## Step 1: Add the JavaScript Interop File + +Create the JavaScript interop module to handle link processing and communication between Blazor and Embedly. + +### 1.1 Create the interop file + +In your Blazor project, create a new folder `wwwroot/scripts/` and add a file named `embedly-interop.js`. + +Copy the complete interop implementation from: + +{% highlight javascript %} +{% include_relative code-snippet/embedly-interop.js %} +{% endhighlight %} + +### 1.2 Verify file placement + +Ensure the file is located at: + +``` +YourProject/ +└── wwwroot/ + └── scripts/ + └── embedly-interop.js +``` + +## Step 2: Add Script Reference in Host Page + +Add the script references in your host page before the closing `` tag: + +```html + + + +``` + +> The host page location varies by project type. Refer to the [RichTextEditor Getting Started](https://blazor.syncfusion.com/documentation/rich-text-editor/getting-started) guide for the correct host page file path. +> +> **Note:** The Embedly CDN script (`https://cdn.embedly.com/widgets/platform.js`) must be loaded before the custom interop file to ensure proper functionality. + +## Step 3: Create the Razor Component + +In your Blazor project's `Pages` folder, create a new file: `EmbedlyIntegration.razor` + +Copy the complete component implementation from: + +{% highlight cshtml %} +{% include_relative code-snippet/embedly.razor %} +{% endhighlight %} + +## How to Use the Integration + +1. **Navigate to the component** — Open the page where you created the component (e.g., `/embedlyintegration`) +2. **Insert a link** — Use the RichTextEditor's link tool to insert a URL +3. **View embed card** — The link automatically renders as an Embedly embed card +4. **Interact with content** — Click on the embed card to interact with the content (watch videos, view articles, etc.) + +![Blazor RichTextEditor with Embedly Integration](./images/blazor-richtexteditor-embedly.png) + +## How It Works + +When a user inserts or updates a link in the RichTextEditor: + +1. The `OnActionComplete` event is triggered with `RequestType` set to "Links" +2. The JavaScript interop method `embedlyInterop.wrapLinkInEmbedlyCard()` is invoked via `JS.InvokeVoidAsync` +3. The method queries the RichTextEditor content area using the `.e-rte-content` selector +4. Each link is wrapped in a `blockquote` element with the `.embedly-card` class +5. The Embedly library processes the container to render the interactive embed card preview + +## Supported content + +Embedly supports embedding from a wide range of sources including: + +- Video platforms (YouTube, Vimeo, etc.) +- Social media (Twitter, Instagram, Facebook, etc.) +- Articles and blog posts +- Music services +- Image galleries +- And many more content types + +For a complete list of supported services, refer to the [Embedly documentation](https://www.embedly.com/). + +## Preventing duplicate processing + +The JavaScript interop includes a check to prevent duplicate embed card wrapping: + +```javascript +if (!link.closest('.embedly-card')) { + // Process the link only if it's not already wrapped +} +``` + +This ensures that links are only wrapped once, preventing duplicate Embedly card structures when the same link is processed multiple times. + +## Integration points + +### Toolbar configuration + +The `ToolbarItems` list includes only the `CreateLink` command to allow users to insert links: + +```csharp +private List ToolbarItems = new() +{ + new ToolbarItemModel { Command = ToolbarCommand.CreateLink } +}; +``` + +### Event handling + +The `OnActionComplete` event checks if the action is a link insertion and triggers the Embedly processing: + +```csharp +private async Task OnActionComplete(ActionCompleteEventArgs args) +{ + if (args.RequestType == "Links") + { + await JS.InvokeVoidAsync("embedlyInterop.wrapLinkInEmbedlyCard"); + } +} +``` + +## See also + +* [Link support in RichTextEditor](https://blazor.syncfusion.com/documentation/rich-text-editor/link) +* [Rich Text Editor documentation](https://blazor.syncfusion.com/documentation/rich-text-editor/getting-started) +* [Rich Text Editor events](https://blazor.syncfusion.com/documentation/rich-text-editor/events) +* [Embedly Developer Documentation](https://www.embedly.com) \ No newline at end of file diff --git a/blazor/rich-text-editor/image-editor-integration.md b/blazor/rich-text-editor/image-editor-integration.md new file mode 100644 index 0000000000..03c41d21e2 --- /dev/null +++ b/blazor/rich-text-editor/image-editor-integration.md @@ -0,0 +1,115 @@ +--- +layout: post +title: Image Editor Integration with RichTextEditor Component | Syncfusion +description: Checkout and learn how to integrate the Syncfusion Image Editor with Blazor RichTextEditor to edit images directly within the content. +platform: Blazor +control: RichTextEditor +documentation: ug +--- + +# Image Editor Integration with RichTextEditor + +The Blazor [RichTextEditor](https://www.syncfusion.com/blazor-components/blazor-wysiwyg-rich-text-editor) component can be enhanced with [ImageEditor](https://www.syncfusion.com/blazor-components/blazor-image-editor) capabilities to allow users to edit images directly within the editor content. This integration enables inline image editing, such as cropping, applying filters, rotating, and adding annotations without leaving the editor interface. + +## Overview + +This documentation provides a complete integration of the Syncfusion ImageEditor with the RichTextEditor component. Users can: + +- Select an image in the editor content +- Click the "Edit Image" toolbar button to open an image editing dialog +- Edit the image using various tools (crop, zoom, filter, annotate, fine-tune) +- Replace the original image with the edited version + +## Prerequisites + +- **Syncfusion.Blazor NuGet package** installed and configured +- **Required namespaces:** + - `Syncfusion.Blazor.RichTextEditor` + - `Syncfusion.Blazor.ImageEditor` + - `Syncfusion.Blazor.Popups` +- **JavaScript interop enabled** — `IJSRuntime` support +- **Host page access** for script references + +> Before integrating Image Editor with RichTextEditor, refer to the [RichTextEditor Getting Started](https://blazor.syncfusion.com/documentation/rich-text-editor/getting-started) documentation for initial setup. + +## Step 1: Add SignalR Configuration to Program.cs + +After following the RichTextEditor Getting Started guide, add the SignalR configuration to your `Program.cs` file to handle large image data transmission during image editing: + +**Add this line to your Program.cs:** + +```csharp +using Microsoft.AspNetCore.SignalR; + +builder.Services.Configure(o => o.MaximumReceiveMessageSize = 1024 * 1024); +``` + +This line should be added after your existing Syncfusion service registration: + +```csharp +builder.Services.AddSyncfusionBlazor(); +builder.Services.Configure(o => o.MaximumReceiveMessageSize = 1024 * 1024); +``` + +> The `MaximumReceiveMessageSize` configuration allows large image data to be transmitted through SignalR when editing and saving large images. The default value is 32 KB, which may be insufficient for large images. + +## Step 2: Add the JavaScript Interop File + +Create the JavaScript interop module to handle file selection and communication between Blazor and the Image Editor. + +### 2.1 Create the interop file + +In your Blazor project, create a new folder `wwwroot/scripts/` and add a file named `rte-imageeditor-interop.js`. + +Copy the complete interop implementation from: + +{% highlight javascript %} +{% include_relative code-snippet/image-editor-interop.js %} +{% endhighlight %} + +### 2.2 Verify file placement + +Ensure the file is located at: + +``` +YourProject/ +└── wwwroot/ + └── scripts/ + └── rte-imageeditor-interop.js +``` + +## Step 3: Add Script Reference in Host Page + +Add the script reference in your host page before the closing `` tag: + +```html + + +``` + +> The host page location varies by project type. Refer to the [RichTextEditor Getting Started](https://blazor.syncfusion.com/documentation/rich-text-editor/getting-started) guide for the correct host page file path. + +## Step 4: Create the Razor Component + +In your Blazor project's `Pages` folder, create a new file: `ImageEditorIntegration.razor` + +Copy the complete component implementation from: + +{% highlight cshtml %} +{% include_relative code-snippet/image-editor-integration.razor %} +{% endhighlight %} + +## How to Use the Integration + +1. **Navigate to the component** — Open the page where you created the component (e.g., `/imageeditorintegration`) +2. **Insert an image** — Use the RichTextEditor's image tool to insert an image +3. **Select and edit** — Click on the image to select it, then click the "Edit Image" button +4. **Use image tools** — Crop, rotate, filter, annotate, or fine-tune the image as needed +5. **Save changes** — Click "Insert" to replace the original image with the edited version + +## See also + +* [Image support in RichTextEditor](https://blazor.syncfusion.com/documentation/rich-text-editor/image) +* [Rich Text Editor documentation](https://blazor.syncfusion.com/documentation/rich-text-editor/getting-started) +* [Image Editor documentation](https://blazor.syncfusion.com/documentation/image-editor/getting-started) +* [Dialog documentation](https://blazor.syncfusion.com/documentation/dialog/getting-started) \ No newline at end of file diff --git a/blazor/rich-text-editor/images/blazor-richtexteditor-embedly.png b/blazor/rich-text-editor/images/blazor-richtexteditor-embedly.png new file mode 100644 index 0000000000000000000000000000000000000000..15cc8ca00d40516207f85564aac5941710d727ba GIT binary patch literal 53185 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

    j(GS19pF|m%=e0nwH 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 literal 0 HcmV?d00001