The active color of the tabs in the Editor's Image manager is blue, which matches the color of the wrapper of the tabs. The issue occurs in LightWeight Editor, in Metro skin. video: https://goo.gl/Un7Evf
The height of the ImageManager's Upload dialog overflows the height of its wrapper when the Editor is used in Metro or Bootstrap skin in LightWeight mode. Video: https://goo.gl/Kxn2CA
Steps to reproduce: Use the following markup and click set html button: <telerik:RadEditor ID="RadEditor1" runat="server" NewLineMode="Div"> <Content> <div><span style="font-family: 'Courier New';">test</span></div> <div><span style="font-family: 'Courier New';"> </span></div> <div><span style="font-family: 'Courier New';">test</span></div> </Content> </telerik:RadEditor> <button type="button" onclick="getSetHtml();return false;">set html</button> <script> function getSetHtml() { var editor = $find("RadEditor1"); var html = editor.get_html(true); editor.set_html(html); } </script> Actual: The white space character in the empty line is removed and the empty line is not rendered Expected: The space is not removed and the new line is rendered Workaround: <script> (function ($E) { var utils = $E.Utils; Telerik.Web.UI.Editor.TrackerBase.prototype.removeZeroWidthNodes = function () { var that = this, nodes = that.nodes, reZeroWidthChar = new RegExp("^[" + that._zeroWidthCharacter + "]+$"); var nodeValuePairs = that.nodeValuePairs = []; for (var i = 0; i < nodes.length; i++) { var node = nodes[i]; if (utils.isTextNode(node) && !that._isNodeRemoved(node)) { var nodeValue = node.nodeValue; if (reZeroWidthChar.test(nodeValue)) { nodeValuePairs.push({ node: node, value: node.nodeValue }); var parentBlockElement = utils.getBlockParent(node); var isInEmptyBlockElement = parentBlockElement && utils.isNodeEmptyRecursive(parentBlockElement); node.nodeValue = isInEmptyBlockElement ? "\u00A0" : ""; } else { that.removeFirstZeroWidthChar(node); } } } } })(Telerik.Web.UI.Editor); </script>
Hi! could you consider implemnet a custom radio button that for the selected shows and image instead of the default circle for the radio button and that include a access key to select the option. That can bind a datasource an configure columns for show the radio options in the image for example can bind a databound for the answers and configure that shows by 2 columns and the image for the radio selected and maybe you can configure if the image is in the left, right, top or bottom
Deleting of a table by delete or backspace key does not work when the selection contains only the table. Steps to reproduce: 1. Set the following content <p>test p1</p> <table> <tbody> <tr> <td>test</td> <td>test</td> </tr> </tbody> </table> <p>test p2</p> 2. Select the table only and press delete or backspace key Actual: Only the content has been deleted. Expected: The table and its content to be deleted. Workaround: <telerik:RadEditor ID="RadEditor1" runat="server"> </telerik:RadEditor> <script type="text/javascript"> (function () { var $T = Telerik.Web.UI; var utils = $T.Editor.Utils; var isTableSelected = function (selected) { if (utils.isTag(selected, "table")) { return true; } var table = utils.getElementParentByTag(selected, "TABLE"); return table && !!utils.getElementParentByCondition(selected, function (current) { return utils.isAncestorOrSelf(table, current) && utils.isSingleChild(current); }); }; // Fix for delete table by delete or backspace key var formatFragments = $T.Editor.DeleteSelectionCommand.prototype.formatFragments; $T.Editor.DeleteSelectionCommand.prototype.formatFragments = function (fragments) { var cmd = this; var selected = cmd.get_editor().getSelectedElement(); if (isTableSelected(selected) && fragments.length) { var table = utils.isTag(selected, "table") ? selected : utils.getElementParentByTag(selected, "TABLE"); var $table = $telerik.$(table); var data = $table.find("th,td"); var firstCell = data.first().get(0); var lastCell = data.last().get(0); var firstFragment = fragments[0]; var lastFragment = fragments[fragments.length - 1]; var firstSelected = firstFragment.nodes[0]; var lastSelected = lastFragment.nodes[lastFragment.nodes.length - 1]; if ((firstSelected == firstCell || firstSelected == firstCell.firstChild || cmd.isMarker(firstCell.firstChild)) && (lastSelected == lastCell || lastSelected == lastCell.lastChild)) { $table.find("." + cmd.getMarkersCssClass()).insertBefore(table); $telerik.$(table).remove(); return; } } formatFragments.call(cmd, fragments); }; // Fix for select and delete a table by the DomInspector in Chrome var Modules = $T.Editor.Modules; if (Modules && Modules.RadEditorDomInspector) { var removeSelectedElement = Modules.RadEditorDomInspector.prototype.removeSelectedElement; Modules.RadEditorDomInspector.prototype.removeSelectedElement = function (element) { if (isTableSelected(element)) { element = utils.isTag(element, "table") ? element : utils.getElementParentByTag(element, "TABLE"); } removeSelectedElement.call(this, element); }; } })(); </script>
Hi! would you consider add a new control for time line for add events in a timeline something like this https://timeline.codeplex.com/
The CommandArgument value of RadButton is not available in the ClientClicking eventargs of RadButton. The get_commandName() method of the event arguments always returns null. The issue is introduced in Q1 2016 release. Steps to reproduce: Run the following code and click the button. <script type="text/javascript"> function btnEdit_Clicking(sender, eventArgs) { alert(eventArgs.get_commandArgument()); } </script> <telerik:RadButton ID="RadButton2" AutoPostBack="false" runat="server" Text="Click Me" OnClientClicking="btnEdit_Clicking" CommandArgument="Name"> </telerik:RadButton>