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>
This causes also to cancel submit and produce an incorrect behavior. You can use RadButton as a toggle button with type Checkbox as alternative solution: <telerik:RadButton runat="server" ButtonType="ToggleButton" ToggleType="CheckBox" RenderMode="Lightweight" AutoPostBack="false"></telerik:RadButton>
RadToolTipManager cannot find custom embedded skin, when a custom skin DLL is created with the Skins assembly builder (http://skinsassemblybuilder.telerik.com/).
Steps to reproduce:
1. Create a custom skin and wownload ZIP from Visual Style Builder (http://skinsassemblybuilder.telerik.com/)
2. Upload ZIP to Skins Assembly builder (http://skinsassemblybuilder.telerik.com/)
3. Create new project with Telerik template, turn off all options (like additional skins).
4. Add downloaded DLL as project reference.
5. Add to web.config: <add key="Telerik.Skin" value="My_Skin" />
<add key="Telerik.EnableEmbeddedSkins" value="true" />
<add key="Telerik.EnableEmbeddedBaseStylesheet" value="true" />
<add key="Telerik.Web.SkinsAssembly" value="My_Skin"/>
6. In Default.aspx, add
<telerik:RadToolTipManager runat="server"></telerik:RadToolTipManager>
Result: an Internal Server Error is thrown:
Telerik.Web.UI.RadToolTipManager with ID='ctl03' was unable to find an embedded skin with the name 'My_Skin'. Please, make sure that the skin name is spelled correctly and that you have added a reference to the Telerik.Web.UI.Skins.dll assembly in your project. If you want to use a custom skin, set EnableEmbeddedSkins=false.
This behavior stops the user to be able o insert these elements without being tracked
When the Zip Skin archive is modified and uploaded to the SkinsAssemblyBuilder, the page throws a server error.