When there is more than one row of RadDocks in a horizontally oriented RadDockZone, it will not be possible to resize them in order to use all the available width of the zone.
When there is a RadDock with one or more disabled commands, you focus the dock and you use one of the default keyboard shortcuts for the disabled command(s), the keydown browser event will be disabled. The default shortcuts are: ESC - Close command Ctrl + F11 - Toggle Expand / Collapse command Crtr + F12- Toggle Pin / UnPin command
For the time being you can either declare some command or place the following JavaScript workaround below the RadDock's declaration: <telerik:RadDockZone ID="RadDockZone1" runat="server" Height="100%" MinWidth="50"> <telerik:RadDock ID="RadDock1" runat="server" RenderMode="Lightweight" Title="title" DefaultCommands="None" DockHandle="TitleBar" DockMode="Docked"> <ContentTemplate> <div> Content... </div> </ContentTemplate> </telerik:RadDock> </telerik:RadDockZone> <script> Telerik.Web.UI.Dock.LightweightView.prototype._sizeTitleElement = function () { var titleElem = this.get_titleElement(), titleBarElem = this.get_titleBar(), commandsElem = this.get_commandsContainer(); if (commandsElem == undefined) { titleElem.style.width = Math.max(0, parseInt(titleBarElem.clientWidth)) + "px"; } else { titleElem.style.width = Math.max(0, parseInt(titleBarElem.clientWidth) - parseInt(commandsElem.clientWidth)) + "px"; } } </script>
When you programmatically load RadDocks in the page view of a RadMultiPage, which is ajaxified via RadAjaxManager or RadAjaxPanel, the docks will be ordered incorrectly after an AJAX request is performed on change of the visible page view.
RadDockLayout cannot persists its state if contains more than 9 docks.
Code to reproduce (if one of RadDocks is removed the state will be persisted properly):
<telerik:RadDockLayout runat="server" ID="RadDockLayout1" EnableLayoutPersistence="true" RenderingMode="Lightweight"
LayoutPersistenceRepositoryType="Cookies" LayoutRepositoryID="repID20210406_1">
<telerik:RadDock RenderMode="Lightweight" ID="RadDock1" runat="server"
UniqueName="RadDock1" AutoPostBack="true">
<ContentTemplate>
dock 1
</ContentTemplate>
</telerik:RadDock>
<telerik:RadDock RenderMode="Lightweight" ID="RadDock2" runat="server"
UniqueName="RadDock2" AutoPostBack="true">
<ContentTemplate>
dock 2
</ContentTemplate>
</telerik:RadDock>
<telerik:RadDock RenderMode="Lightweight" ID="RadDock3" runat="server"
UniqueName="RadDock3" AutoPostBack="true">
<ContentTemplate>
dock 3
</ContentTemplate>
</telerik:RadDock>
<telerik:RadDock RenderMode="Lightweight" ID="RadDock4" runat="server"
UniqueName="RadDock4" AutoPostBack="true">
<ContentTemplate>
dock 4
</ContentTemplate>
</telerik:RadDock>
<telerik:RadDock RenderMode="Lightweight" ID="RadDock5" runat="server"
UniqueName="RadDock5" AutoPostBack="true">
<ContentTemplate>
dock 5
</ContentTemplate>
</telerik:RadDock>
<telerik:RadDock RenderMode="Lightweight" ID="RadDock6" runat="server"
UniqueName="RadDock6" AutoPostBack="true">
<ContentTemplate>
dock 6
</ContentTemplate>
</telerik:RadDock>
<telerik:RadDock RenderMode="Lightweight" ID="RadDock7" runat="server"
UniqueName="RadDock7" AutoPostBack="true">
<ContentTemplate>
dock 7
</ContentTemplate>
</telerik:RadDock>
<telerik:RadDock RenderMode="Lightweight" ID="RadDock8" runat="server"
UniqueName="RadDock8" AutoPostBack="true">
<ContentTemplate>
dock 8
</ContentTemplate>
</telerik:RadDock>
<telerik:RadDock RenderMode="Lightweight" ID="RadDock9" runat="server"
UniqueName="RadDock9" AutoPostBack="true">
<ContentTemplate>
dock 9
</ContentTemplate>
</telerik:RadDock>
<%--The state will be persisted of you comment the dock below--%>
<telerik:RadDock RenderMode="Lightweight" ID="RadDock10" runat="server"
UniqueName="RadDock10" AutoPostBack="true">
<ContentTemplate>
dock 10
</ContentTemplate>
</telerik:RadDock>
</telerik:RadDockLayout>
When the browser or the page, on which a RadDock is placed, is configured with a culture that uses comma-separated values and you set the Width, Height, Top, Left properties with such a value, an exception will be thrown.
The size of a dock is increased a bit each time it is dropped and the EnableAnimation="True". Video: https://www.screencast.com/t/LoUJbAb8c Workaround: Set EnableAnimation="False" Steps to reproduce: 1. Run the following code. 2. Swipe the first and second dock several times (Test 1 and Test 2) <telerik:RadDockZone ID="Zone1" runat="server" Height="500px" Orientation="Horizontal" Width="400px"> <telerik:RadDock RenderMode="Lightweight" runat="server" Height="110px" Width="140px" ID="RadDock1" Title="RadDock A" DefaultCommands="None" DockMode="Docked" EnableAnimation="True" EnableRoundedCorners="True" Skin="Silk"> <ContentTemplate> <div style="background-color: blue; width: 110px; color: white"> Test 1 </div> </ContentTemplate> </telerik:RadDock> <telerik:RadDock RenderMode="Lightweight" runat="server" Height="110px" Width="140px" ID="RadDock2" Title="RadDock B" DefaultCommands="None" DockMode="Docked" EnableAnimation="True" EnableRoundedCorners="True" Skin="Web20"> <ContentTemplate> <div style="background-color: red; width: 110px; color: white"> Test 2 </div> </ContentTemplate> </telerik:RadDock> <telerik:RadDock RenderMode="Lightweight" runat="server" Height="110px" Width="140px" ID="RadDock3" Title="RadDock C" DefaultCommands="None" DockMode="Docked" EnableAnimation="True" EnableRoundedCorners="True" Skin="Web20"> <ContentTemplate> <div style="background-color: green; width: 110px; color: white"> Original </div> </ContentTemplate> </telerik:RadDock> </telerik:RadDockZone> Result: The width of the first two docks is different than the one which has not been dragged (Original) Expected: The width of all docks remains the same.
The CSS class "RadDock_Default" will be applied to the placeholder of a RadDock, regardless of the built-in skin that is specified for the control.
It should not be possible to add docks in a RadDockZone, the property AllowedDocks of which does not include the IDs of the included docks.
The RadDock in a vertical RadDockZone is not expanded correctly the first time when it is collapsed by default and its Height is set. If Resizable is set to true, the dock will never expand.
When some content is entered in a RadDock, the project is closed, opened again and new elements are added in the content via the Visual Studio's designer, the elements that are included after the reloading of the project will disappear from the designer, after editing the dock.
When a RadDock without having its height property set is collapsed and then expanded, an explicit height is set to its wrapper as well as to its content wrapper, so that it cannot be resized. The workaround is to remove both heights on DockExpandCollapseCommand: ASPX: <telerik:RadDock runat="server" ID="RadDock1" RenderMode="Classic" Resizable="true"> <ContentTemplate> <asp:Button ID="btn" runat="server" Text="Click me" OnClientClick="toggleVisibility(); return false;" /> <div id="divExpand" style="display: none; height: 400px;"> Expanded </div> </ContentTemplate> <Commands> <telerik:DockExpandCollapseCommand OnClientCommand="DockExpandCollapseCommand" /> </Commands> </telerik:RadDock> JavaScript: <telerik:RadCodeBlock ID="RadCodeBlock1" runat="server"> <script type="text/javascript"> function toggleVisibility() { var divExpand = $get('divExpand'); if (divExpand.style.display == 'none') { divExpand.style.display = 'block'; } else { divExpand.style.display = 'none'; } } function DockExpandCollapseCommand(sender, args) { if (!sender.get_collapsed()) { sender.get_contentContainer().style.height = ""; sender.get_element().style.height = ""; } } </script> </telerik:RadCodeBlock>
As of Q1 2016 the elasticity of RadDock is not behaving properly due to some fixed font styles like: .RadDock .rdCommandButton { font-size: 16px; } Possible workaround: div.RadDock .rdCommandButton { font-size: 1.2em; }
For the time being you can use the following workaround: ASPX: <div style="border: 1px solid red; height: 300px; width: 400px; overflow: scroll;"> <div style="border: 1px solid green; height: 500px; width: 200px;"> <telerik:RadDockZone ID="RadDockZone1" runat="server" RenderMode="Lightweight"> <telerik:RadDock ID="RadDock1" runat="server" Resizable="true" RenderMode="Lightweight"> <ContentTemplate> <div style="border: 1px solid blue; height: 100px;"></div> </ContentTemplate> </telerik:RadDock> </telerik:RadDockZone> </div> </div> <script> var Browser = Telerik.Web.Browser; $ = $telerik.$; Telerik.Web.UI.RadDock.prototype._initResizableWidget = function() { if(this._resizableWidget && this._resizableWidget.dispose) this._resizableWidget.dispose(); if(!this._resizable) return; if(Browser.webkit) { //need to kickstart the css transform, because of a quirk in the layout engine of webkit/blink when it comes to position:static inside position:relative this._kickStartCssTransform(); } this._resizableWidget = new Telerik.Web.UI.Widgets.Resizable(this._element, { handles: this._getAvailableHandles(), appendHandleToElement: true }); if(this._renderingView) this._setResizeLimit(); if(this._collapsed) this._resizableWidget.hideHandles(); this._resizableWidget.add_resizeStart($.proxy(this._resizeStartHandler,this)); this._resizableWidget.add_resizing($.proxy(this._resizingHandler, this)); this._resizableWidget.add_resizeEnd($.proxy(this._resizeEndHandler, this)); } </script>
The client state of the dock changes, e.g, 80% to 80px. The pixel value affects the dock after a post back. Possible workaround: <telerik:RadDock runat="server" ID="dock2" Width="80%"> <ContentTemplate> <telerik:RadButton runat="server"></telerik:RadButton> </ContentTemplate> </telerik:RadDock> <script> Telerik.Web.UI.RadDock.prototype.saveClientState = function () { var DECIMAL_RADIX = 10; var dock = this; var width = dock.get_width(); var height = dock.get_height(); var top = dock.get_top() ? parseInt(dock.get_top(), DECIMAL_RADIX) : null; var left = dock.get_left() ? parseInt(dock.get_left(), DECIMAL_RADIX) : null; var expandedHeight = parseInt(dock._expandedHeight, DECIMAL_RADIX); var state = { Top: top, Left: left, DockZoneID: this.get_dockZoneID(), Collapsed: this.get_collapsed(), Pinned: this.get_pinned(), Resizable: this.get_resizable(), Closed: this.get_closed(), Width: width, Height: height, ExpandedHeight: expandedHeight, Index: this.get_index(), IsDragged: this.get_isDragged() }; return Sys.Serialization.JavaScriptSerializer.serialize(state); }; </script>
When the content container of RadDock is configured to be a drag handle via the following code dock.set_handle(dock.get_contentContainer()); a JavaScript error will be thrown if you call the 'clone' client-side function of the control dock.clone()
The animation of the RadDock control is causes performance issues under IE8 and due to that the expanding/collapsing and the docking/undocking functionalities are not working as expected. Disabling the animation resolves the issue: EnableAnimation="false"
The rounded corners of RadDock controls that are using the Silk or Glow skin cannot be disabled.
When you dock a resizable RadDock (Resizable="true") in a RadDockZone, its drag handle is displaced in Chrome, which prevents you from resizing it when there are multiple docked docks.