Such tools exist in Word 2013 - 'Show Markup' and 'Display for Review' tools. They are used by the users to be able to see the originally typed text, the final results (as if the track changes were accepted) and some further options for the visual appearance of the tracked text. Such option would be very useful in the RadEditor, because in a large text where multiple users would add their suggestion, redaction and comments, the text would go quite unordered and difficult to be handled with.
When there are list items which are links, pressing enter to create new list item duplicates the previously created anchor. The same issue applies when new lines are created with link inside.
Steps: 1. Add some track changes text using Author=User0 and UserCSSId="reU0". 2. Change the Author to "User1" and UserCSSId to "reU1". 3. Click inside of User0's tracked text and start typing. Results: The new text is displayed as if User0 wrote it, in User0's color. Expected Result: The new text that was injected by User1 in the middle of User0's text would be have User1's color and hover text that pertains to User1. (Similar to how Word does it.)
The issue is reproducible when NewLineMode is Br and the cursor is at the end of the formatting node in Chrome. The workaround is to check the position of the new inserted Br element and append it to the formatting node if it is necessary. <telerik:RadEditor ID="RadEditor1" runat="server" NewLineMode="Br"> </telerik:RadEditor> <script type="text/javascript"> (function () { if (!$telerik.isChrome) return; var insertBr = Telerik.Web.UI.Editor.EnterNewLineCommand.prototype._insertBrElementSafari; Telerik.Web.UI.Editor.EnterNewLineCommand.prototype._insertBrElementSafari = function () { var utils = Telerik.Web.UI.Editor.Utils, command = this, selection = command.get_editor().getSelection(), range = selection.getRange(); if (range.commonAncestorContainer != range.startContainer || range.commonAncestorContainer != range.endContainer) return insertBr.call(command); var commonElement = utils.isTextNode(range.commonAncestorContainer) ? range.commonAncestorContainer.parentNode : range.commonAncestorContainer; var commandResult = insertBr.call(command); range = selection.getRange(); var br = range.commonAncestorContainer.childNodes[range.startOffset]; if (!utils.isTag(br, "br")) return commandResult; if (!$telerik.$.contains(commonElement, br)) { commonElement.appendChild(br); range.selectNodeContents(commonElement); range.collapse(false); selection.selectRange(range); } return commandResult; } })(); </script>
When importing external video in RadEditor, the video in the embedding code does not have the option to use https. The dialog could detect the protocol from the video to be imported and use it in the generated code at the end.
Having the entity in a sentence, and trying to find or find and replace in this sentence, the found word seem to be incorrectly highlighted/selected. Therefore, when trying to replace, incorrect selection is replaced. A possible fix is adding the entities inside span elements, so that additional inner text nodes are created. The following code example implements such functionality upon opening and closing the FindAndReplace dialog <telerik:RadEditor ID="RadEditor1" runat="server" OnClientCommandExecuted="OnClientCommandExecuted"> <Content> <p>some text. some text.</p> </Content> </telerik:RadEditor> <script type="text/javascript"> function OnClientCommandExecuted(editor, args) { var commandName = args.get_commandName(); if ($telerik.isIE && commandName === "FindAndReplace") { updateNbspEntities(editor, true); var dialog = editor.get_dialogOpener()._dialogContainers[commandName]; dialog.add_close(function () { updateNbspEntities(editor, false); }); } }; function updateNbspEntities(editor, toAddInNodes) { var html = editor.get_html(true); if (toAddInNodes) { // insert all entities inside nodes to fix IE ranges html = html.replace(/(( )+)/gi, "<span>$1</span>"); } else { // restore them when FindAndReplace dialog is closed html = html.replace(/<span>(( )+)<\/span>|<font>(( )+)<\/font>/gi, "$1"); } editor.set_html(html); }; </script>
When the user select an inserted through the ImageManager image from the Editor's content, its size in the properties tab of the ImageManager always displays its original width and height. Steps to reproduce: 1. Add an image to the editor and set it's width and height. 2. Select the image and click in the toolbar on the ImageManager 3. Click on the Properties tab Result: The width and height are set back to the initial ones.
Using the delete key in the content area of the RadEditor sometimes cause incorrect behavior to be encountered, e.g., content disappearance, incorrect elements to be removed etc. For example pressing delete key before a list element, the li tag is removed, instead of just the cursor to be positioned in it. This behavior comes from the browser and there is no RadEditor logic that interferes with it. It would be nice if this inconsistencies are handled via custom commands that act more stable across browsers. The following issues are fixed with this item: Pressing backspace in a table sometimes inserts non breaking spaces Could not complete the operation due to error 800a025e when deleting table columns Redundand nbsps are added to the content using backspace inside <ul> in IE9 IE10 crashes when nested lists are highlighted and deleted Incorrect List nesting is generated when a Paragraph is deleted via backspace key under IE11
In this scenario the EncodeScripts and RemoveScripts filters are disabled, so that script tags can be inserted. Using a script tag with some HTML content after it and submit when still on HTML mode, the content after the script tag will be removed. For the time being you can workaround this problem by forcing the editor to switch to Design mode on submitting: <telerik:RadEditor ID="RadEditor2" runat="server" OnClientSubmit="OnClientSubmit"> </telerik:RadEditor> <script> function OnClientSubmit(sender, args) { sender.set_mode(Telerik.Web.UI.EditModes.Design); } </script>
The RadWindow used to hold the toolbar does not have a proper width set and the toolbar's layout is unusable. Possible workarounds: - avoid setting the Width property of the editor in percent - set the ToolsWidth property to the desired static value - use the following script to calculate the current dimensions each time the toolbar shows up: function OnClientLoad(sender, args) { var toolPopup = sender.get_toolAdapter().get_window(); toolPopup.__editor = sender; toolPopup.add_show(resizeToolWindow); } function resizeToolWindow(sender, args) { if (sender.__editor) { var editorDims = $telerik.getBounds(sender.__editor.get_element()); sender.set_width(editorDims.width); var currDims = sender.getWindowBounds(); sender.moveTo(editorDims.x, editorDims.y - currDims.height - 10); } } where the OnClientLoad function is attached to the OnClientLoad event of the editor Leave your comment on the desired behavior - whether the toolbar should have a static width (i.e., the initial width with which the editor renders, as is the current behavior with the ShowOnFocus ToolbarMode), or whether it should update its width according to the editor width when it shows up (as the script above does).
Instead of null, the String.Empty can be used.
Cut, Copy and Paste commands shortcuts are not respected in RadEditor. This is preventing the users to apply custom shortcuts to these commands as it is described in the documentation: http://www.telerik.com/help/aspnet-ajax/editor-keyboard-support.html
When the EnableTrackCahnges functionality of the Editor is set to true, a context menu is shown only if the user right-clicks over a tracked change. Clicking over a not changed element does not pop-up any context menu (neither the Editor's not the browser one). The issue is reproducible in all browsers. Steps to reproduce: 1. Run the following configuration: <telerik:RadEditor ID="RadEditor1" runat="server" EnableTrackChanges="True"> <Content> <span>SPAN dssad</span> <div>DIV fsdfksjdfkf</div> <p>Paragraph jfdshfksjdhfksdhk</p> </Content> </telerik:RadEditor> 2. Right-click over a not track-changed element. Actual result: No context menu is shown. Expected result: The Editor's default content menu (or the browser on) is shown.
This may result in invalid content being sent to the server or incorrect behavior of the client-side.
Pasting complex lists from MS Word are not properly translated to HTML list nesting. Often, the sub lists are mixed up with their parent lists.
Using the Image Map Editor to create a mapped area over the entire image, causes the image to be unelectable.
Entering two consecutive spaces in the middle of a paragraph causes the cursor to jump to the end of the paragraph. The issue is reproducible with version 2015.1.401 (and not reproducible with Q3 2014) Steps to reproduce: 1. Open the following url in IE11, setting the compatibility mode to IE8 (or in real IE8) 2. Type in a short sentence into the Editor 3. Place the cursor in the middle sentence and hit the space bar (or other char inserting button) twice Result: The cursor will jumps to the end of the sentence.
Subsequent showing of an Paste HTML dialogs updates the title with some delay. A possible workaround is using the code from this example: <telerik:RadEditor runat="server" ID="RadEditor1" OnClientCommandExecuted="OnClientCommandExecuted"> </telerik:RadEditor> <script type="text/javascript"> function OnClientCommandExecuted(editor, args) { var command = args.get_commandName(); var dialogContainer = editor.get_dialogOpener()._dialogContainers; var dialogName = ""; switch (command) { case "PasteFromWord": case "PasteFromWordNoFontsNoSizes": case "PasteAsHtml": dialogName = "CleanPasteHtmlContent"; break; default: break; } dialogContainer[dialogName].add_pageLoad(updateTitle); dialogContainer[dialogName].add_show(updateTitle); } function updateTitle(sender, args) { var clientParameters = sender.ClientParameters; if (clientParameters && clientParameters.dialogTitle) sender.set_title(clientParameters.dialogTitle) sender.add_pageLoad(updateTitle); sender.add_show(updateTitle); } </script>