Ticket S133094
Visible to All Users

Add boolean property to ASPxPanel and ASPxRoundPanel to make modal when visible

created 15 years ago

I have created an AJAX-driven site and am currently using your ASPxLoadingPanel in place of the UpdateProgress control and it works great. I have a few instances within my site where a user will click a particular button that will unhide an ASPxRoundPanel that contains a label control and a few button controls and prompts them with a few options via an additional button click.
My problem is that the user can still click anything on screen with that ASPxRoundPanel visible and I would rather they not be able to. Of course, my panel includes a "Cancel" button that hides the panel if the user chooses to cancel the action.
I thought I could maybe use your ASPxPopupControl since that has a Modal property, but it doesn't appear that you can add controls within its control content.
It would be nice if you could add a boolean property called "ModalWhenVisible" that defaulted to False for your panel controls. This way, if the property is set to True when my Panel is visible, everything else on screen is disabled. When defaulted to False, the control acts as it currently does.
Thanks

Show previous comments (1)

    OK, I thought I explained myself fairly well in what I am doing, but here I go again. User clicks a button to perform an action. On that button click, a panel unhides with a label with text telling them to click one button from another set of buttons within the panel to continue. Basically, it is an option to retract or remove a request or cancel. All of these button clicks within the panel eventually lead to a hiding of the panel again.
    With that panel visible, since it isn't modal, the user can click on any area of the screen to doing something else, which I would prefer they didn't have the option to do so. I played around with your popup control some more and was able to get controls into the control content section, but the popup action is driven by a mouse click or mouseover, etc. So I set the popupaction to be on a mouse click of my button that originally unhid my panel during the AJAX postback. Now when I click that button to see the popup, everything grays out on screen but the popup control is not visible. When I tested this out on a blank aspx page with no AJAX update panel, it worked fine.
    Does the popup control itself need to be outside the AJAX update panel? Also, how do I get this popup control to close via any of my button clicks witin the popup control itself? Does the popup control offer client side script to hide it like the ASPxLoading panel so that I can hide it during the ScriptManager "EndRequest" process? If that is the case, the popup control has to be back inside the AJAX update panel, correct?
    Please advise.

      Furthermore, I would only want the popup control to display on the click of a button when I have a grid row selected. I'm not seeing how this could be accomplished. All this I can figure out via an AJAX process from the button click.
      I may just have to scrap the whole idea and leave it as is. If the user clicks on something else while the panel is visible, so be it.

      DevExpress Support Team 15 years ago

        Hello Joseph,
        I understood your idea. It seems you don't use all the ASPxPopupControl features in your scenario. That is why you've decided to suggest a new feature for the ASPxRoundPanel.
        Actually the ASPxRoundPanel wasn't developed as a modal panel, because a modal feature is used for popups, rather than for panels. I think we'll have to decline your suggestion. However, I'll try to give you a valuable solution:
        The ASPxPopupControl can be shown many times: How to show the ASPxPopupControl (client-side code), How to show and hide a popup window via server side code (server-side code).
        The popup can also be placed into the ASP:UpdatePanel, but there is a little suggestion: you should manually (or via the client-side code) close the ASPxPopupControl before you perform a postback. If you want to prevent a popup from being moved or closed, you should use these properties: ASPxPopupControl.AllowDragging, ASPxPopupControl.CloseAction.
        In other words, you should try to make a round panel modal, rather than making a modal ASPxPopupControl behave as an unmovable panel.
        Thanks,
        Vest

        Disclaimer: The information provided on DevExpress.com and affiliated web properties (including the DevExpress Support Center) is provided "as is" without warranty of any kind. Developer Express Inc disclaims all warranties, either express or implied, including the warranties of merchantability and fitness for a particular purpose. Please refer to the DevExpress.com Website Terms of Use for more information in this regard.

        Confidential Information: Developer Express Inc does not wish to receive, will not act to procure, nor will it solicit, confidential or proprietary materials and information from you through the DevExpress Support Center or its web properties. Any and all materials or information divulged during chats, email communications, online discussions, Support Center tickets, or made available to Developer Express Inc in any manner will be deemed NOT to be confidential by Developer Express Inc. Please refer to the DevExpress.com Website Terms of Use for more information in this regard.