Declined
Last Updated: 11 Dec 2014 09:29 by ADMIN
ADMIN
Created by: Georgi Tunev
Comments: 0
Category: Window
Type: Feature Request
13
The desired effect can be achieved easily with CSS and this approach will even allow for finer tuning of the desired effect.

The RadWindpw's ContentTemplate is a simple div element that has dimensions set in pixels by the RadWindow scripts, so you can control the way its contents flow just like any other generic div element on your page. Below follows an example.

In case an external page is loaded in the RadWindow (e.g., via the NavigateUrl property), it will be loaded with an iframe that has its width and height set to 100% of the RadWIndow content area. Thus, it is up to the content page to control its scrolling.

<%--A sample RadWindow declaration you can use for quick testing--%>
<telerik:RadWindow ID="RadWindow1" runat="server" VisibleOnPageLoad="true">
	<ContentTemplate>
		<div class="desiredOverflow">
			Add your content here
			<div style="height: 1000px; width: 1000px; background-color: yellow;">
				some dummy content so you can test out the overflow CSS rules behavior
			</div>
		</div>
	</ContentTemplate>
</telerik:RadWindow>


/* some sample CSS that you can use to control the scrolling behavior of your content */
.desiredOverflow
{
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	overflow: scroll; /* set the desired value here */
	/* you can also use the other overflow rules for fine control */
	overflow-x: hidden; /* set the desired value here */
	overflow-y: scroll; /* set the desired value here */
}
Completed
Last Updated: 26 Jun 2018 11:09 by ADMIN
Created by: Informat
Comments: 5
Category: Window
Type: Feature Request
13
Admin update: You can follow this article and the sample it provides to create an adaptive RadWindow https://docs.telerik.com/devtools/aspnet-ajax/controls/window/mobile-support/responsive,-adaptive-and-elastic-capabilities#fluid-or-adaptive-design-with-radwindow and you can also tweak the provided code through the rich client-side API of the control so it matches your concrete requirements.



RadWindow is one of the controls we use a lot in our applications. As our applications get more and more optimized to be used on smartphones and tablets, we tried to redo some of our functionality or replace them with RadLightboxes or other ways. But the RadLightbox lacks a lot of the functionality the RadWindow has: windowmanager, dialogs, more focussed on regular web-page content,.... 

I have been waiting for adaptive RadWindow functionality for quite some time, and I really hope I'm not the only one! Today I've read your Q1 2015 road map and I decided to finally post this feature request here too (I contacted your support team about this a few weeks ago).

It's easy to dynamically create windows using the windowmanager, pass data between them, show dialogs, etc... 
It would be very nice to be able to still have all this functionality, but with added adaptive behavior.

If the viewport width is too small to display the window or dialog in a correct way, the window/dialog would need to open maximized immediately without restricting height/width.

It would be nice to keep the title-bar and the close functionality on top, but I really don't need to move, minimize, maximize, pin,... the window on a smartphone, only be able to view its contents, interact with the content and close the window if needed. A bit like your lightbox does, but less focused on images/galleries and more flexible using the managers and the existing API these windows already have.

This would of course need to work for windows with url's (iframe), contenttemplates, and dialogs too. 

I like the Bootstrap modal-window, for example. If your windows/dialogs could behave a bit more like that on mobile devices, but would keep the functionality of the window-manager, adding iframe-content, dialogs, I would be more than happy!

Thanks
Nick
Completed
Last Updated: 21 Nov 2017 09:49 by ADMIN
The idea is to let a simple property have the RadWindow close on outside click like the RadLightBox: http://demos.telerik.com/aspnet-ajax/lightbox/examples/overview/defaultcs.aspx.

At the moment, a few lines of code are needed and you can find examples here: http://www.telerik.com/forums/close-modal-on-overlay-click#DGbE7tSl3kWR926gm99m9A.
Declined
Last Updated: 21 Mar 2014 16:54 by ADMIN
A ShowOnTopWhenModal property would have the effect that any modal RadWindow (Modal=true) will increase greatly its z-index, just like it does when it is maximized. This property should take precedence over a maximized RadWindow (i.e. it should increase the z-index to more than 100 000).

A possible workaround:

<style>
    .topWindow {
        z-index: 100001 !important;
    }
</style>

for a markup of:
<telerik:RadWindow ID="topWindow" runat="server"
    Width="500"
    Height="300"
    VisibleOnPageLoad="true"
    CssClass="topWindow"
    Modal="true"></telerik:RadWindow>
Declined
Last Updated: 19 Mar 2014 12:44 by ADMIN
ADMIN
Created by: Marin Bratanov
Comments: 3
Category: Window
Type: Feature Request
4
This will be an enumerator just like the Behaviors property. It should, however, list the behaviors that are not allowed for the control. The common use case is that the developer does not want his popup to be resizable, so he/she needs only DisabledBehaviors="Resize" instead of listing all others that should be allowed in the Behaviors property. 
Completed
Last Updated: 06 Aug 2015 14:03 by ADMIN
Thus, users can scroll down and see the content of the page behind maximized window.
Workaround for iOS and Android:

<telerik:RadWindow ID="RadWindow1" runat="server" VisibleOnPageLoad="true" OnClientCommand="OnClientCommand" />

<style>
        html, body {
            margin: 0px;
            padding: 0px;
            border: 0px;
        }
    </style>
    <script type="text/javascript">
        var currentDialog = null;

        function OnClientCommand(sender, eventArgs) {
            var commandName = eventArgs.get_commandName();

            if ($telerik.isTouchDevice) {
                if (commandName == "Maximize") {
                    document.body.style.position = 'fixed';
                    setTimeout(function () {
                        document.body.style.overflow = 'visible';
                    }, 100)

                }
                else if (commandName != "Pin") {
                    document.body.style.position = 'static';
                }
            }

            if ($telerik.isMobileSafari) {
                if (commandName == "Maximize") {
                    window.onscroll = centerDialog;
                    currentDialog = sender;
                }
                else if (commandName != "Pin") {
                    window.onscroll = null;
                    currentDialog = null;
                }
            }
        }

        function centerDialog() {
            if (currentDialog && currentDialog.center) {
                currentDialog.center();
            }
        }
    </script>
Declined
Last Updated: 26 Jun 2018 18:24 by ADMIN
ADMIN
Created by: Misho
Comments: 2
Category: Window
Type: Feature Request
3
Implement the ability to set the size of RadWindow in percents out of the box. The following knowledge base article describes how it could be achieved for the time being using the RadWindow client-side API:

http://www.telerik.com/support/kb/aspnet-ajax/window/setting-size-in-percent-for-the-radwindow.aspx
Completed
Last Updated: 26 Apr 2018 14:36 by Bill O'Neil
ADMIN
Created by: Ivan Zhekov
Comments: 3
Category: Window
Type: Feature Request
3
Based on customer report: scrollbar of RadWindow disappears after moving the window. Producible on our demos -- http://demos.telerik.com/aspnet-ajax/window/examples/minmaxsize/defaultcs.aspx.

Note: Chrome specific bug: https://bugs.chromium.org/p/chromium/issues/detail?id=641881
Approved
Last Updated: 29 Jul 2016 14:09 by ADMIN
At present, when a RadWindow is pinned, it still uses position: absolute and an interval is initiated to recalculate its position every 100ms. This causes it to visibly "jump" when the user scrolls the page because of the interval update in its location.

Instead, position: fixed should be used to avoid the position calculation on an interval.
Pending Review
Last Updated: 19 Apr 2017 10:49 by ADMIN
The Classic RenderMode hides all iframes on the page when the user starts moving or resizing the RadWindow.

This prevents them from consuming the mouse events and thus ensures proper behavior, but hides content from the user which is unexpected. You can find attached below an illustration of the issue.

Due to numerous requests about changing this, the Lightweight mode does not hide the iframes. Thus in some cases, if the browser had not redrawn the RadWindow fast enough, the mouse events may get captured by another iframe.

Cast your vote whether you want the Lightweight mode to do this as well.

You can change this by using the following script (the second instance has the necessary handlers attached, in a real app you can do that via the RadWindowManager, or via an ASP Theme)

		<telerik:RadWindow runat="server" ID="rw1" VisibleOnPageLoad="true" NavigateUrl="Default2.aspx" RenderMode="Lightweight"></telerik:RadWindow>
		<telerik:RadWindow runat="server" ID="rw2" VisibleOnPageLoad="true" NavigateUrl="Default3.aspx" RenderMode="Lightweight"
			OnClientDragStart="hideFrames" OnClientResizeStart="hideFrames" OnClientDragEnd="showFrames" OnClientResizeEnd="showFrames">
		</telerik:RadWindow>
		<script>
			function hideFrames(sender, args) {
				setIframesVisible(false, sender);
			}
			function showFrames(sender, args) {
				setIframesVisible(true, sender);
			}
			function setIframesVisible(bVisible, wnd) {
				var iframes = document.getElementsByTagName("iframe");
				var iframeToSkip = wnd.get_contentFrame();
				for (var i = 0, length = iframes.length; i < length; i++) {
					var frame = iframes[i];
					if (iframeToSkip && (iframeToSkip === frame || iframeToSkip == frame))//compare through == and === because of FF 3.5 and 3.6
						iframeToSkip = null;
					else {
						frame.style.visibility = bVisible ? "" : "hidden";

						//For some extremely strange reason in IE the iframe does not get hidden properly and continues to consume mouse events
						if ($telerik.isIE)
							try {
								frame.contentWindow.document.body.style.visibility = bVisible ? "" : "hidden";
							} catch (ex) {
							}
					}
				}
			}
		</script>
Completed
Last Updated: 20 Apr 2015 09:54 by Elena
Completed
Last Updated: 11 Jan 2016 08:29 by ADMIN
The WAI-ARIA specification indicates that there are alert, alertdialog and dialog roles, the appropriate one must be applied to the RadWindow dialogs.
http://www.w3.org/TR/wai-aria/roles#alert
http://www.w3.org/TR/wai-aria/roles#alertdialog
http://www.w3.org/TR/wai-aria/roles#dialog

In the meantime, you can use a script like this to apply the role:
        <script type="text/javascript">
            function OnClientShow(sender, args) {
                var role = "dialog";
                 if (sender._isPredefined) { //this captures RadAlert, RadConfirm and RadPrompt
                   role = "alertdialog"; 
                }
                //this will be executed for all child RadWIndows from that manager so you can apply a different role (e.g., dialog)
               sender.get_popupElement().setAttribute("role", role);
            }
        </script>

        <telerik:RadWindowManager runat="server" ID="RadWindowManager1" EnableAriaSupport="true" OnClientShow="OnClientShow"></telerik:RadWindowManager>


Note: Testing with the JAWS screen reader indicates that it does not recognize dynamically created HTML, and all RadWindow dialogs are created dynamically with JavaScript. This is a shortcoming of the reader.
Won't Fix
Last Updated: 14 Sep 2016 12:33 by ADMIN
The manually set height of RadWindow is not persisted after PostBack if the control's ShowContentDuringLoad property is set to False. The issue is reproducible in IE9.

Video: http://screencast.com/t/ChvvBVzst

Workaround: Set ShowContentDuringLoad="true" when the current browser is IE:
    <button onclick="OpenRadWindow();return false;" class="Button" style="width: 190px"> Show popup window</button>
    <script type="text/javascript">
        function OpenRadWindow() {
            var oManager = GetRadWindowManager();
            oWind = oManager.getWindowByName("RadWindow1");
            //workaround
            if ($telerik.isIE)
                oWind.add_pageLoad(pageLoaded);
            oWind.show();
        }

        function pageLoaded(oWind) {
            oWind.set_showContentDuringLoad(true);
        }
    </script>
Declined
Last Updated: 30 Jun 2016 15:38 by ADMIN
Currently setSize() works for popups that are already shown. If setSize() is called before show() (or radopen() or open() from a RadWindowManager) the new size will not be respected on subsequent iterations.
Declined
Last Updated: 12 Jul 2016 14:17 by ADMIN
ADMIN
Created by: Marin Bratanov
Comments: 1
Category: Window
Type: Feature Request
1
It should be similar to the RadAjaxManager.GetCurrent(Page) method and return the first RadWindowManager instance on the page. Note that, unlike most other manager type controls there may be multiple RadWindowManagers on the page in a valid scenario.
Declined
Last Updated: 12 Jul 2016 15:06 by ADMIN
Created by: Jhanzaib
Comments: 1
Category: Window
Type: Feature Request
1
After added this code window close button stop working.

if we remove these three properties it works fine
        oWnd.SetWidth(width);
        oWnd.SetHeight(height);
        oWnd.center();


function openWin(url) {
        var oWnd = radopen(url, "RadWindow22");
        oWnd.SetWidth(width);
        oWnd.SetHeight(height);
        oWnd.center();
    }
Completed
Last Updated: 27 May 2016 11:28 by ADMIN
With the classic render mode this allows the developer to always position the popup according to a given target with a given offset.
With the lightweight render mode the current bounds are returned instead of the offsets set by the developer.

The following example always shows a RadWindow according to its offset element instead of only the first time:
						oWindow = $find("<%=winTest2.ClientID%>");
						oWindow.show();
						if (oWindow.get_offsetElementID())
						{
							offsetElementBounds = $telerik.getBounds($get(oWindow.get_offsetElementID()));
							oWindow.moveTo(offsetElementBounds.x + oWindow.get_left(), offsetElementBounds.y + oWindow.get_top());
						}
This will not work as expected with the Lightweight render mode, because the popup will move additionally with its width and height.
Completed
Last Updated: 23 Oct 2013 17:16 by ADMIN
When the following RadWindow's propertis are set - AutoSize="true and  RenderMode="Lightweight", the title's width of the RadWindow is 1px. The workaround is to use either RenderMode="Classic" or to override the title's width:

    <style type="text/css">
        h6.rwTitle {
            width: 60% !important;
        }
    </style>

Completed
Last Updated: 28 Jun 2016 10:39 by ADMIN
Created by: luc bonenfant
Comments: 1
Category: Window
Type: Feature Request
1
Allow adding buttons near cancel button rather than inside form. Please see attachments.
Pending Review
Last Updated: 03 Mar 2016 16:07 by Ricard Bertran Vall
I'd like to send JSON (or string) object to RadWindow to be able to populate its content with  this object.
Similar to Value RadNotification property: public string Value { get; set; }

Code snippet below illustrates what I'd like to achieve.


function showWindow(jsonObject) {
    var windowManager = GetRadWindowManager();
    if (windowManager) {
        var window = windowManager.getWindowByName("RadWindow1");

        if (window != null) {
            window.DynamicContent = jsonObject; //Set content
            window.show();
        }
    }
    return;
}

function RadWindow1_Show(sender, args) {
    var jsonObject = sender.DynamicContent;

    if (jsonObject != null) {
        var selector = null;

        selector = 'span[id*="Content"]';
        var domElements = $telerik.$(selector);
        if (domElements != null && domElements.length > 0) {
            var spanId = domElements.attr('id');
            var span = $get(spanId);
            if (span != null)
                span.innerHTML = message;
        }
    }

    return;
}
1 2