From customer feedback: There should be client methods for completely hiding (in contrast to collapsing) ribbon groups.
Based on customer feedback: When the application menu of the Ribbon bar is opened and should cover external applets / plugins, such as JavaApplets, PDF, Flash etc, it's not rendered on top, but beneath. --- The solution is to add an IFRAME element, a lot like in the menu, combo etc, for IE browsers.
When a ToolTip of the RibbonBar is opened, it should cover external applets / plugins, such as JavaApplets, PDF, Flash etc, it's not rendered on top, but beneath.
Currently, the ribbon groups are resized automatically, from right to left. The MS Ribbon Framework specifies a property to set the order of the group reduction -- GroupSizeReductionOrder. More info: -- http://msdn.microsoft.com/en-us/library/ff701790.aspx -- http://msdn.microsoft.com/en-us/library/microsoft.windows.controls.ribbon.ribbontab.groupsizereductionorder.aspx
<body>
<form id="form1" runat="server">
<div>
<telerik:RadScriptManager runat="server" ID="rsm"></telerik:RadScriptManager>
<telerik:RadRibbonBar ID="RadRibbonBarTest" runat="server" Width="100%"
RenderMode="Lightweight"
EnableMinimizing="true"
RenderInactiveContextualTabGroups="False">
<telerik:RibbonBarTab Text="Main Tab">
<telerik:RibbonBarGroup Text="Operations">
<Items>
<telerik:RibbonBarMenu Size="Large" Text="New process"
ImageRenderingMode="Dual"
ID="RibbonBarMenuOptions" runat="server">
<Items>
<telerik:RibbonBarMenuItem Text="Parent 1">
<Items>
<telerik:RibbonBarMenuItem Text="Goto Google" NavigateUrl="https://www.google.com">
</telerik:RibbonBarMenuItem>
<telerik:RibbonBarMenuItem Text="Goto Telerik" NavigateUrl="https://www.telerik.com">
</telerik:RibbonBarMenuItem>
</Items>
</telerik:RibbonBarMenuItem>
</Items>
</telerik:RibbonBarMenu>
</Items>
</telerik:RibbonBarGroup>
</telerik:RibbonBarTab>
</telerik:RadRibbonBar>
</div>
</form>
</body>
When the ImageUrl or ImageUrlLarge property is set and a button is disabled, it should show the ImageUrl or ImageUrlLarge image instead of a non-descript "x" image. This should be the default behavior when the DisabledImageUrl and DisabledImageUrlLarge proeprties are not set. I have created some javascript which accomplishes this, however this is really overkill and is as always subject to breakage if you change the control. I'm not sure why you guys decided your random "X" image would be a better indicator of a disabled button than the original image.
function setRibbonDisabledImages(ribbonBar) {
var tabs = ribbonBar.get_tabs();
for (i = 0; i < tabs.get_count(); i++) {
var tab = tabs.getTab(i);
var groups = tab.get_groups();
for (j = 0; j < groups.get_count(); j++) {
var group = groups.getGroup(j);
var items = group.get_items();
for (k = 0; k < items.get_count(); k++) {
var item = items.getItem(k);
if (item.get_imageUrl()) {
item.set_disabledImageUrl(item.get_imageUrl());
}
if (item.get_imageUrlLarge()) {
item.set_disabledImageUrlLarge(item.get_imageUrlLarge());
}
}
}
}
}
In lightweight the issue is not observed:
<telerik:RadRibbonBar runat="server" RenderMode="Classic">
<Tabs>
<telerik:RibbonBarTab Text="home">
<%-- duplicate the group and items inside to replicate more easily --%>
<telerik:RibbonBarGroup Text="Documents">
<Items>
<telerik:RibbonBarButton Text="Item 1" />
</Items>
</telerik:RibbonBarGroup>
</telerik:RibbonBarTab>
</Tabs>
</telerik:RadRibbonBar>
Workaround: Telerik.Web.UI.RadToolBar.Views.Lite.prototype._repaint = function () { this._updateItemsTextAndImage(); this._showAllHiddenItems(); if (this._owner.get_orientation() == Telerik.Web.UI.Orientation.Horizontal) { this._responsiveCheck(); } }
I have a lot of exceptions "This is an invalid webresource request" on URL: Url: http://localhost:28346/WebResource.axd?d=pA8zoJJ2yE9oO6Ia28y3ulqgm2EN3siWz944xQWIIGBXVpgk0BapHVTl4shvvFk6xNdt4LtiZSHEyXvbblVt01x0HwUwNQaOMxMWgBjtZYGpgc8UslSNdkbp6cUlZ40ejI7_lKB_ojLYUsqy5MqXRvXtaiUCAP9m7jUF4h8I34ewKZ8vyOpjWEbtWAuKDJ9m0&t=635173510100000000 I decoded content of url: Telerik.Web.UI.Skins|Telerik.Web.UI.Skins.Web20.Common.radGradientListSprite.png Probably there is no radGradientListSprite.png for Web20 skin inside dll file. Could you check it? Regards...
Workaround: using the following handler for the OnClientLoad event of the RibbonBar <script> function OnClientLoad(sender, args) { var oldHide = sender._hideMenus; sender._hideMenus = function () { var ribbonBar = this, visibleMenus = $telerik.$(sender.get_element()).find("." + ribbonBar._cssClasses._rrbMenuGroupOut).filter(":visible").get(); for (i = 0, len = visibleMenus.length; i < len; i++) { var menu = visibleMenus[i]; menu._button.removeClass("rrbExpanded"); } oldHide.call(this) } } </script>
Unlike the rest of the Ribbon Items, the Templates have only one level of resizing, where as they need few steps more, to be consistent. Add proper (fluid) resizing to templates by implementing template size.
Add Track/Commit changes for RadRibbonBar like RadTreeView has. Currently enabling/disabling a ribbon bar item client side throws an error and blows up when a postback occurs after the client side change.