Completed
Last Updated: 26 Sep 2023 11:50 by ADMIN
Release 4.6.0 (11 Oct 2023) (R3 2023)
Created by: Ben
Comments: 0
Category: Editor
Type: Bug Report
2

The TelerikEditor demos all show bind-Value being used to marshal HTML in and out of the editor:

<TelerikEditor @bind-Value="@TheEditorValue" Width="650px" Height="400px"></TelerikEditor>

However, this causes problems - the underlying ProseMirror component emits it's own HTML (e.g. for image drag handles), which is visible in the bound Value property.

We need to be able to export "clean" HTML from the viewer, otherwise we end up saving this superflous HTML as part of our document.

Code

This REPL shows the issue:

https://blazorrepl.telerik.com/mHODmObJ36vZ7ivR09

@page "/editor/tools"

@using Telerik.Blazor.Components.Editor 

<TelerikEditor Tools="@EditorToolSets.All"
               Height="300px"
               @bind-Value="@Value"
               EditMode="EditorEditMode.Div"
               ></TelerikEditor>

<pre style="white-space: pre-wrap;">@Value</pre>

@code {
    public string Value { get; set; } =
        "<img src=\"img/toolbar-assets/repl-logo.svg\" />";
}

Steps to Reproduce

1. Open the REPL and click "Run" - observe that the bound HTML is simply

<img src="img/toolbar-assets/repl-logo.svg" />

2. Click on the Telerik logo image inside the editor - observe that the bound HTML is now

<p><img src="img/toolbar-assets/repl-logo.svg" contenteditable="false" draggable="true" class="ProseMirror-selectednode"><div class="k-editor-resize-handles-wrapper ProseMirror-widget" style="width: 857px; height: 78px; top: 8px; left: 8px;" contenteditable="false"><div class="k-editor-resize-handle southeast" data-dir-image-resize="southeast"></div><div class="k-editor-resize-handle east" data-dir-image-resize="east"></div><div class="k-editor-resize-handle south" data-dir-image-resize="south"></div><div class="k-editor-resize-handle north" data-dir-image-resize="north"></div><div class="k-editor-resize-handle west" data-dir-image-resize="west"></div><div class="k-editor-resize-handle southwest" data-dir-image-resize="southwest"></div><div class="k-editor-resize-handle northwest" data-dir-image-resize="northwest"></div><div class="k-editor-resize-handle northeast" data-dir-image-resize="northeast"></div></div><br class="ProseMirror-trailingBreak"></p>

3. Deselect the image - observe that the bound HTML no longer contains the image handles etc, but is still more verbose than when we started

<p><img src="img/toolbar-assets/repl-logo.svg" contenteditable="false" draggable="true" class=""><br class="ProseMirror-trailingBreak"></p>

4. At any point during the above steps, click the "View HTML" button in the Editor toolbar - observe that it is able to present a "clean" structure which contains no ProseMirror markup etc.

Requirements

How do we access this HTML via the TelerikEditor Blazor APIs?

 

Unplanned
Last Updated: 11 Sep 2023 09:43 by ADMIN

Hello,

after selecting a block of text in your editor and perform some block operation (for instance - change font size, name, ..) the original selection is lost. Would it be possible to keep that selection please?

Very thanks.

Miroslav

Unplanned
Last Updated: 08 Sep 2023 07:35 by Scott
Created by: Scott
Comments: 0
Category: Editor
Type: Feature Request
1

I would like to use the Editor in a more compact matter in my application. The buttons and button groups must be small, and the margins and the paddings must be smaller as well. 

The overall goal is to make the Editor take less amount of space in the UI. 

Unplanned
Last Updated: 14 Aug 2023 13:32 by Miroslav
I have added my own fonts in the value of the Editor. When I select a portion of the text that has some font the Font Name tool is not populated properly even tho the font is present in the options. 
Unplanned
Last Updated: 10 May 2023 13:42 by Sara

Description : 
When you click before the content in the Editor, the cursor should show up before the text. But, if a text was added programmatically, the cursor shows up after the added text instead.

To reproduce the problem :

1. Open this REPL example: https://blazorrepl.telerik.com/cdYpPabd37jvK9jt23

2. Click the "Insert Inline Text" button.

3. Try to place the cursor in front of the editor content.

Declined
Last Updated: 03 May 2023 14:47 by ADMIN

We have a survey page that has multiple editor fields in it.  They need to accept rich text from a paste or other keyboard commands, but we do not want to waste the vertical space for the toolbar appearing in each editor field.

Please update the editor to hide the toolbar if the List<IEditorTool> collection is empty.

This change would make it much easier and less fragile than removing the toolbar to through Css.

Unplanned
Last Updated: 26 Apr 2023 14:49 by Adam

I have the following command

await _editorRef.ExecuteAsync(new HtmlCommandArgs("insertHtml", "<hr class='donotremove' />", false));

Currently, the <hr/> element is added but its class is stripped. This is not the case with other elements. 

Reproduction: https://blazorrepl.telerik.com/GRYyGUbH492QNMki44.

Please allow adding class to <hr/> elements, too.

Unplanned
Last Updated: 10 Apr 2023 07:35 by shyam
Created by: shyam
Comments: 0
Category: Editor
Type: Feature Request
8

Currently, our Editor component does not support a placeholder parameter. Having a placeholder parameter, similar to the Kendo UI Editor, would prove to be beneficial.

Unplanned
Last Updated: 27 Mar 2023 07:23 by Miroslav
Created by: Miroslav
Comments: 0
Category: Editor
Type: Feature Request
4

It seems that texts/options in the Format tool dropdown are not part of the localization (Paragraph, Heading 1..6).

Editor demo

===

ADMIN EDIT

===

A possible workaround for the time being is to customize the built-in Format tool to add your desired labels for the format options.

Unplanned
Last Updated: 27 Mar 2023 13:18 by ADMIN

Hello,

We've come across a bug. It seems as whatever tool button(s) that should be selected is not shown correctly. It appears to show the previously selected.

 

Repro steps:

  1. Write two different formatted texts on separate lines in your Editor component.
  2. Move the cursor to the first line
  3. Move the cursor to the second line that has a different formatted text. Note that the tool button for the formatted text on the first line is shown as selected.

    This should happen:

 

Is this an intended behaviour? Our users are confused :)

/Patrik

Unplanned
Last Updated: 13 Mar 2023 06:53 by Miroslav
When I add an unordered list, increase the font size of the text, the markers (bullet) are not resized properly based on the font-size. 
Unplanned
Last Updated: 17 Feb 2023 16:06 by Garrick
Created by: Garrick
Comments: 0
Category: Editor
Type: Feature Request
1

Hello,

We are adding references to other documents via a drag an drop over the text as a superscript hyperlinks. Our users are complaining that when we drag and drop onto the Blazor editor control, it is hard to see exactly where the drop is going to be.

The Kendo UI Editor supports this.

Unplanned
Last Updated: 01 Dec 2022 07:59 by Tom
Created by: Tom
Comments: 0
Category: Editor
Type: Feature Request
4

Please add built-in toolbar tools (buttons) for Cut, Copy and Paste.

The request from our customer is to have similar behavior as typical toolbars in most applications where there is a cut and paste along with the regular keyboard shortcuts.

As the toolbar options typically show the options that are available then one might presume that because cut and paste icons are not present then such a shortcut might not be available either.

Completed
Last Updated: 31 Oct 2023 12:14 by ADMIN
Release 5.0.0 (15 Nov 2023) (R1 PI1)
Created by: Johan
Comments: 0
Category: Editor
Type: Bug Report
1

Here is a scenario that produces an exception.

  1. Go to https://demos.telerik.com/blazor-ui/editor/overview
  2. Select the image in the Editor and resize it using the border / resize handles.
  3. Keep the image selected and then click the "Insert image" button in the toolbar of the editor. Now the page will crash.
Completed
Last Updated: 28 Nov 2024 14:05 by ADMIN
Created by: Miroslav
Comments: 0
Category: Editor
Type: Bug Report
2

Hello,

I expect Shift + Ins to behave like a standard paste (Ctrl + V), but instead, it behaves like a plain text paste (Ctrl + Shift+ V).

===

Telerik edit: This was a ProseMirror issue, which was fixed on their side. Changes took effect in Telerik UI for Blazor 5.0.0.

Unplanned
Last Updated: 11 Oct 2022 14:13 by Miroslav

Hello,

If the Edtor content includes <br /> tags, they will be lost if the user copy-pastes them to a plain text environment such as Notepad or a <textarea>.

Unplanned
Last Updated: 24 Oct 2022 19:56 by Lance

In Editors that use the ProseMirror engine (including non-Telerik), when you click Enter twice in the middle of formatted text and go back (with an up arrow) to write, the new text format is back to default.

This enhancement will allow you to keep the text format after pressing Enter and creating new block elements.

Unplanned
Last Updated: 16 Aug 2022 12:30 by Joe
The bottom border of the tabstrip item is not hidden as expected when the component is hosted in a Modal window.
Unplanned
Last Updated: 28 Jul 2022 07:48 by Patrik Madliak
Created by: Patrik Madliak
Comments: 0
Category: Editor
Type: Bug Report
2

The Editor is missing some CSS styles when the EditMode is Div. As a result, the table resizers are misplaced and table cell borders are missing.

The workaround is to add those styles explicitly, until the issue is fixed.

@using Telerik.Blazor.Components.Editor

<TelerikEditor @bind-Value="@EditorValue"
               Tools="@ToolCollection"
               EditMode="@EditorEditMode.Div" />

<style>
.ProseMirror-selectednode {
  outline: 2px solid #8cf;
}
div.ProseMirror {
  position: relative;
  min-height: 100%;
  word-wrap: break-word;
  white-space: pre-wrap;
  white-space: break-spaces;
  -webkit-font-variant-ligatures: none;
  font-variant-ligatures: none;
  font-feature-settings: "liga" 0; /* the above doesn't seem to work in Edge */
}
div.ProseMirror:focus {
  outline: none;
}
.ProseMirror pre {
  white-space: pre-wrap;
}
.ProseMirror-hideselection *::selection { background: transparent; }
.ProseMirror-hideselection *::-moz-selection { background: transparent; }
.ProseMirror-hideselection { caret-color: transparent; }
.ProseMirror li {
  position: relative;
}
li.ProseMirror-selectednode {
  outline: none;
}
li.ProseMirror-selectednode:after {
  content: "";
  position: absolute;
  left: -32px;
  right: -2px;
  top: -2px;
  bottom: -2px;
  border: 2px solid #8cf;
  pointer-events: none;
}
.ProseMirror-gapcursor {
  display: none;
  pointer-events: none;
  position: absolute;
}
.ProseMirror-gapcursor:after {
  content: "";
  display: block;
  position: absolute;
  top: -2px;
  width: 20px;
  border-top: 1px solid black;
  animation: ProseMirror-cursor-blink 1.1s steps(2, start) infinite;
}
@keyframes ProseMirror-cursor-blink {
  to {
    visibility: hidden;
  }
}
.ProseMirror-focused .ProseMirror-gapcursor {
  display: block;
}
.k-editor-resize-handles-wrapper {
  position: absolute;
  visibility: hidden;
}
.k-editor-resize-handle {
  position: absolute;
  visibility: visible;
  background-color: #fff;
  border: 1px solid #000;
  z-index: 100;
  width: 5px;
  height: 5px;
}
.k-editor-resize-handle.northwest {
  top: 0;
  left: 0;
  transform: translate(-50%, -50%);
  cursor: nw-resize;
}
.k-editor-resize-handle.north {
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  cursor: n-resize;
}
.k-editor-resize-handle.northeast {
  top: 0;
  right: 0;
  transform: translate(50%, -50%);
  cursor: ne-resize;
}
.k-editor-resize-handle.southwest {
  left: 0;
  bottom: 0;
  transform: translate(-50%, 50%);
  cursor: sw-resize;
}
.k-editor-resize-handle.south {
  bottom: 0;
  left: 50%;
  transform: translate(-50%, 50%);
  cursor: s-resize;
}
.k-editor-resize-handle.southeast {
  right: 0;
  bottom: 0;
  transform: translate(50%, 50%);
  cursor: se-resize;
}
.k-editor-resize-handle.west {
  top: 50%;
  left: 0;
  transform: translate(-50%, -50%);
  cursor: w-resize;
}
.k-editor-resize-handle.east {
  top: 50%;
  right: 0;
  transform: translate(50%, -50%);
  cursor: e-resize;
}
.ProseMirror .tableWrapper {
  overflow-x: auto;
  margin: 1em 0;
}
.k-editor-resize-wrap-element {
  display: inline-block;
  position: relative;
}
.ProseMirror .row-resize-handle {
  position: absolute;
  right: 0; left: 0; bottom: 0;
  transform: translate(0, 50%);
  height: 4px;
  z-index: 20;
  background-color: #adf;
  pointer-events: none;
}
.ProseMirror.resize-cursor-vertical {
  cursor: sn-resize;
  cursor: row-resize;
}
.k-editor-resize-wrap-element table td p,
.k-editor-resize-wrap-element table th p {
  margin: 0 auto;
}
.ProseMirror table {
  margin: 0;
  border-collapse: collapse;
  table-layout: fixed;
  width: 100%;
  overflow: hidden;
}
.ProseMirror td, .ProseMirror th {
  min-width: 1em;
  border: 1px solid #ddd;
  padding: 3px 5px;
  vertical-align: top;
  box-sizing: border-box;
  position: relative;
}
.ProseMirror th {
  font-weight: bold;
  text-align: left;
}
.ProseMirror .column-resize-handle {
  position: absolute;
  right: -2px; top: 0; bottom: 0;
  width: 4px;
  z-index: 20;
  background-color: #adf;
  pointer-events: none;
}
.ProseMirror.resize-cursor {
  cursor: ew-resize;
  cursor: col-resize;
}
/* Give selected cells a blue overlay */
.ProseMirror .selectedCell:after {
  z-index: 2;
  position: absolute;
  content: "";
  left: 0; right: 0; top: 0; bottom: 0;
  background: rgba(200, 200, 255, 0.4);
  pointer-events: none;
}
</style>

@code {
    string EditorValue { get; set; }

    public List<IEditorTool> ToolCollection { get; set; } = new List<IEditorTool>() {
            new InsertTable()
        };
}

Completed
Last Updated: 07 Nov 2023 11:45 by ADMIN
Release 5.0.0 (15 Nov 2023) (R1 PI1)

When I add table to Editor, dispose the component and initialize it again with the same content, the table cells appear taller. It looks like an additional <br class="ProseMirror-trailingBreak"> appears in every cell.

Reproduction: https://blazorrepl.telerik.com/cwaqcSuV12myl9ok47.

Steps to reproduce:

  1. Add a table
  2. Toggle the Editor
  3. Cells appear taller