I am experiencing an issue in the Telerik Rad Editor where, after copying and pasting a long sentence in a single line, if I apply bold formatting to a word and place the cursor at the beginning of the bolded word, pressing Enter results in an empty line being inserted between the text. This behavior is reproducible on the Telerik webforms editor demo site as well.
I would appreciate any guidance on how to resolve this issue. Thanks in advance.
<
telerik:RadTabStrip
runat
=
"server"
ID
=
"RadTabStrip2"
MultiPageID
=
"RadMultiPage2"
SelectedIndex
=
"0"
>
<
Tabs
>
<
telerik:RadTab
Text
=
"Add Response"
></
telerik:RadTab
>
</
Tabs
>
</
telerik:RadTabStrip
>
<
telerik:RadMultiPage
runat
=
"server"
ID
=
"RadMultiPage2"
SelectedIndex
=
"0"
>
<
telerik:RadPageView
runat
=
"server"
ID
=
"RadPageView11"
>
<
telerik:RadEditor
Width
=
"100%"
EditModes
=
"Design"
ID
=
"reReqCom"
runat
=
"server"
ContentAreaCssFile
=
"~/AppRoot/Xml/RadEditor/EditorContentArea.css"
ToolsFile
=
"~/AppRoot/Xml/RadEditor/BasicTools.xml"
Skin
=
"Material"
/>
</
telerik:RadPageView
>
</
telerik:RadMultiPage
>
The Table Wizard dialog, the Table Properties tab shows Cell Padding and Cell Spacing fields, but this fields can only apply values. If you edit them through the HTML mode or the Properties Inspector module, the fields in Table Properties dialog will not be updated.
There is a bug in the editor when using the image manager to insert an image after creating a new image. This is recreated on the live demo site - http://demos.telerik.com/aspnet-ajax/editor/examples/overview/defaultcs.aspx 1. Open the image manager in the editor. 2. Click on an image editor after selecting an image. 3. Use the resizing tool to resize and save a new version of the image. 4. Once the save is made, both images (the original and the newly created) are selected and when you click insert, both images will be inserted.
The following concerns the editing of tables within RadEditor using the out-of-the-box Delete Row and Delete Column commands: Delete Rows: - Click in a cell. - Click the Delete Row button. The row is deleted. - The Delete Row button is still enabled, but when I click it nothing happens. The cursor is in the expected location and I'm able to immediately begin typing. However, I must again click in the cell for the Delete Row button to work. Delete Columns: - Click in a cell. - Click the Delete Column button. The column is deleted. - The Delete Column button is disabled. If I begin typing or click in the table it becomes enabled and functional again. The end-user should be able to repeatedly click either button and have it work until there aren't any more rows or columns left to delete.
Steps to reproduce: 1. go to demo url http://demos.telerik.com/aspnet-ajax/editor/examples/edittemplate/defaultcs.aspx 2. click add new record 3. try to manually resize editor. it won't. 4. click add new record again. 5 try to manually resize editor, now it will.
The following code will trigger the issue: <ins author="Test user1" command="Insert" timestamp="1488935783059" title="Inserted by Test user1 on 3/7/2017, 5:16:23 PM" class="reU7"> <p cssproperty="verticalAlign" author="Test User2" timestamp="1488945891760" title="Formatted by Test User2 on 3/7/2017, 8:04:51 PM" class="reFormat reU0" command="Remove alignment"><span style="font-size: 12pt;"> </span><span style="font-size: 12pt; font-family: 'Times New Roman';">This is some sample text.</span></p> </ins> When track changes are enabled and you try to delete from the end of this text, the deleted characters move to the following lines with a strikethrough rather than just deleting.
Workaround is to add the following function override at the end of the page (a sample is attached below) Telerik.Web.UI.Editor.Utils.isWindowDestroyed = function (window) { var doc; try{ doc = window.document; } catch (e) { return true; } if(Telerik.Web.Browser.safari && !doc){ return true; } return !doc.defaultView && !doc.parentWindow; }
Several JS errors are trown when writing in re-focussed empty Editor in Chrome. Video: https://www.screencast.com/t/Wx6Ucs8m6S5w First error's message: RadEditor.js:10521 Uncaught TypeError: Cannot read property 'startContainer' of null Steps to reproduce: 1. Open in Chrome: http://demos.telerik.com/aspnet-ajax/editor/examples/trackchanges/defaultcs.aspx 2. Switch to HTML mode and clear the whole content 3. Switch back to Design mode 4. Click any of the Bold/Italic/Underline commands 5. Click out of the Editor's element 6. Click back in the Editor's content area and start typing Result: JS errors are thrown
Hi,
I am contacting you today to let you know I have found cross-site scripting vectors within the latest version of the RadEditor. I have attached images of the payloads that seem to bypass the XSS filter.
The second payload only works on Firefox browsers, but the first works on Chrome browsers too. While it still requires users to click on the link to trigger XSS, it can be easily social engineered in most situations.
There is a problem in Safari on Mac while selecting Table cell properties via the context menu when a table cell is selected. Its Wrongly selected in the Table Wizard window. Reproduction steps: - Load the default demo in Safari Mac: http://demos.telerik.com/aspnet-ajax/editor/examples/overview/defaultcs.aspx - Right click over the third cell in the second column ("Los Gigantes is located...") and choose Cell Properties. - The Preview of the Cell Properties in the Table Wizard will show that the first cell is selected but not the right one.
For a better description of the issue and reproduction steps, please view the ticket: http://www.telerik.com/account/support-tickets/view-ticket?threadid=1010438 If a user clicks 'Ignore All' for a misspelled word, the focus moves to the next misspelled word after the last word included in the ignore all list. This becomes problematic when editing a large quantity of text and the user's trying to go through things in order, but the focus moves to the very bottom of the content area. In MS Word, it works as our users expect it would. Once 'Ignore All' is chosen, the very next misspelled word is highlighted.
Inserting a new line after a link typically adds a new line and removes the copied link. However, this does not work when paragraph is about to be split. For the time being you can override the _nodeInsertedHandler method to resolve the bug as in this example: <telerik:RadEditor runat="server" ID="RadEditor1"> <Content> <p><a href="http://www.telerik.com" >link</a>text</p> </Content> </telerik:RadEditor> <script> Telerik.Web.UI.Editor.InsertParagraphCommand.prototype._nodeInsertedHandler = function (args) { var command = this, cursor = args.get_cursor(), container = args.get_container(), isEmptyContainer = command._isEmptyContainer(container, cursor), $E = Telerik.Web.UI.Editor, utils = $E.Utils; var parentAnchor = utils.getElementParentByTag(cursor, "A"); if (command._isEmptyContainer(parentAnchor, cursor)) command._removeNode(parentAnchor); if (isEmptyContainer) { if (command.get_editor().get_enableTrackChanges()) { var tcUtils = $E.TrackChangesUtils, parentTrackedInsert = tcUtils.getParentTrackChangesInsertNode(cursor, container), parentTrackedDelete = tcUtils.getParentTrackChangesDeleteNode(cursor, container); command._removeNode(parentTrackedInsert); command._removeNode(parentTrackedDelete); } } }; </script>
It is a common scenario users to start selecting text and accidental trigger mouseup event outside of the content area. Still, the focus is inside RadEditor and InlineEditCompleted event should not fire. Possible workaround: <telerik:RadEditor runat="server" ID="RadEditor1" EditType="Inline" OnClientLoad="OnClientLoad" OnClientInlineEditCompleted="OnClientInlineEditCompleted"> <Content> some text </Content> </telerik:RadEditor> <script> function OnClientInlineEditCompleted(sender, args) { if (sender._editCompleted) { alert("Fired!"); } } function OnClientLoad(sender, args) { $telerik.$(document).on("mouseup", function (e) { if (e.target === sender.get_contentArea() || e.target === sender.get_textArea()) { sender._editCompleted = true; } }) $telerik.$(document).on("mousedown", function (e) { if (e.target === sender.get_contentArea() || e.target === sender.get_textArea()) { sender._editCompleted = false; } else { sender._editCompleted = true; } }) } </script>
Having more than one editor on the page, with EditType="Inline", and using dropdown tools causes the event to be raised for the incorrect editor.
Steps to reproduce in an editor with enabled track changes mechanism:
When I want to clear a class in the RadEditor the class is cleared in the hyperlink manager, but not in the area in the footer of the RadEditor.
If 'clear class' is selected nothing happens.
When using Metro skin, if I click on a disabled button (Undo, Redo, Unlink and so on), its icon disappears until I click outside it.
https://demos.telerik.com/aspnet-ajax/editor/examples/overview/defaultcs.aspx?skin=Metro
This does not happen with MetroTouch, Silk or Default skin. How do I replicate the same behavior with Metro skin?
In R3 2016 SP1 when a RadEditor with RenderMode=Classic is disposed and RadScriptManager is used, a JavaScript error is thrown: IE: Object doesn't support property or method 'dispose' Chrome: Uncaught TypeError: this._contextMenuFunctionality.dispose is not a function FIXED in R3 2016 SP2 (2016.3.1027) There are three workarounds: - Set EnableScriptCombine to false for the RadScriptManager (not applicable when CDN is used) - OR set RenderMode=Lightweight for the RadEditor (you can do this in the web.config for all control instance in the web app if they do not define the Classic mode exiplicitly) - OR add the following function override at the end of your page: <telerik:RadScriptManager ID="RadScriptManager1" runat="server" > </telerik:RadScriptManager> <%-- WORKAROUND 1: SET EnableScriptCombine="false" TO RADSCRIPTMANAGER--%> <asp:Button ID="Button1" Text="click to postback and break the editor" runat="server" /> <telerik:RadEditor ID="txtInstructions" runat="server"> </telerik:RadEditor> <%-- WORKAROUND 2: SET RenderMode="Lightweight" TO RADEDITOR--%> <%--WORKAROUND 3: ADD THE FOLLOWING SCRIPT TO THE END OF THE FORM--%> <script> Telerik.Web.UI.Editor.DefaultToolAdapter.prototype.dispose = function () { delete this._fakeToolbarParentCreated; var toolbars = this._getToolBarElements(); if (toolbars) { for (var i = 0; i < toolbars.length; i++) { $clearHandlers(toolbars[i]); } } this._tools = []; this._disposeToolbarModeHandlers(); var wnd = this._toolbarHolder; if (wnd && wnd.dispose) wnd.dispose(); var contextMenuFunctionality = this._contextMenuFunctionality; if (contextMenuFunctionality && contextMenuFunctionality.dispose) contextMenuFunctionality.dispose(); Telerik.Web.UI.Editor.DefaultToolAdapter.callBaseMethod(this, "dispose"); } </script>