Welcome Guest Search | Active Topics | Sign In | Register

Dialog: Possible bugs? Options
Saed
Posted: Thursday, March 5, 2009 6:26:45 PM
Rank: Advanced Member
Groups: Member

Joined: 10/15/2008
Posts: 45
Hi there,

We have been experimenting during previous weeks with Dialog, and were pleased until we encountered some strange glitches. Since we feel the space here won't be adequate to incorporate all of that, and to assist you guys at EO viewing the complete picture, we produced some documents entailing in details the incidents, supported by a handful of screenshots.

Said documents can be accessed following this link.

Shortly after producing the documents, we switched our Application to Arabic (rtl) to hit another strange incident! All Dialogs seized to show. Their BackShade effect is there, even the 'click' sound, but no Dialogs; not a single one! Altering their RightToLeft didn't help (although it is already set, and for all EO controls).

Shall you deem any further details are required, please feel free to ask.

Thank you in advance.

Regards,

Saed Hamdan
"Man may be destroyed but not defeated" -Hemmingway
eo_support
Posted: Thursday, March 5, 2009 6:34:33 PM
Rank: Administration
Groups: Administration

Joined: 5/27/2007
Posts: 24,194
Wow. That is the best bug report we have ever seen. :) We will look into it and see what we can find!
Saed
Posted: Thursday, March 5, 2009 7:20:06 PM
Rank: Advanced Member
Groups: Member

Joined: 10/15/2008
Posts: 45
You are welcome my friend. Hope you find it helpful... It took me 3 days to produce BTW!

Regards,

Saed Hamdan
"Man may be destroyed but not defeated" -Hemmingway
Saed
Posted: Monday, March 9, 2009 10:21:26 PM
Rank: Advanced Member
Groups: Member

Joined: 10/15/2008
Posts: 45
Just wondering... Any update?

Thanks.

Regards,

Saed Hamdan
"Man may be destroyed but not defeated" -Hemmingway
eo_support
Posted: Monday, March 9, 2009 10:40:29 PM
Rank: Administration
Groups: Administration

Joined: 5/27/2007
Posts: 24,194
Not yet. We are still working on this one.
eo_support
Posted: Monday, March 16, 2009 8:52:09 AM
Rank: Administration
Groups: Administration

Joined: 5/27/2007
Posts: 24,194
Hi,

We have posted a new build that should fix the right to left problem. Please see your private message for download location. However we are still trying to reproduce other issues. We may need reproducing code from you. If that's the case, we will reply here again.

Thanks!
Saed
Posted: Wednesday, March 18, 2009 11:50:09 AM
Rank: Advanced Member
Groups: Member

Joined: 10/15/2008
Posts: 45
Great... We will implement the new build and see...

Speaking of Dialog, here is something else we came across today...

Scenario:
When a particular item of a DropDownList is selected, a GridView should appear that contains 2 image buttons and 2 embedded DropDownLists as illustrated in below snapshot.



The Grid is encapsulated by a Panel. Grid Header is formed via an ASP Table. In order to apply some appealing visual effects, we placed entire Grid block inside a Dialog to advantage from stunning EO built-in Effects. However, Dialog behaviour varied between utilising Server-Side and Client-Side code to Show/Hide Dialog. But first, here is the full declaration of the Dialog.

Code: HTML/ASPX
<eo:Dialog 
id="dlg_OptionsData" 
runat="server" 
Height="100px" 
Width="235px" 
AnchorElementID="optionsDataWrapper" 
ShadowColor="Gray" ShadowDepth="3"
ShowEffect-Type="GlideTopToBottom" ShowEffect-Steps="50" ShowEffect-Duration="500" 
CloseEffect-Type="GlideTopToBottom" CloseEffect-Steps="50" CloseEffect-Duration="500">
    <ContentTemplate>
        <asp:Table id="tbl_OptionsHeader" runat="server" CellSpacing="0" CellPadding="0" CssClass="aspGridViewHeader" >
            <asp:TableHeaderRow>
                <asp:TableHeaderCell> </asp:TableHeaderCell>
                <asp:TableHeaderCell CssClass="width110" Text="Option Type"></asp:TableHeaderCell>
                <asp:TableHeaderCell CssClass="width060" Text="Action"></asp:TableHeaderCell>
            </asp:TableHeaderRow>
        </asp:Table>
        <div class="optionsContent">
            <asp:UpdatePanel id="upl_OptionsBlock" runat="server">
                <ContentTemplate>
                    <asp:Panel id="pnl_GridWrapper" runat="server" ScrollBars="Vertical" CssClass="aspPanel optionsPanel">
                        <asp:GridView id="grv_Options" runat="server" DataKeyNames="RowNo" AutoGenerateColumns="false" CellSpacing="0" CellPadding="0" ShowHeader="false" GridLines="None" CssClass="aspGridView_plain">
                            <Columns>
                                <asp:ButtonField ButtonType="Image" CommandName="Add" ImageUrl="~/images/objects/actionButtons/plus.png" ControlStyle-CssClass="aspImageButton" />
                                <asp:ButtonField ButtonType="Image" CommandName="Delete" ImageUrl="~/images/objects/actionButtons/minus.png" ControlStyle-CssClass="aspImageButton" />
                                <asp:TemplateField ControlStyle-Width="110px">
                                    <ItemTemplate><asp:DropDownList id="ddl_OptionType" runat="server" CssClass="aspDropDownList_shrinked"></asp:DropDownList></ItemTemplate>
                                </asp:TemplateField>
                                <asp:TemplateField ControlStyle-Width="55px">
                                    <ItemTemplate><asp:DropDownList id="ddl_OptionAction" runat="server" CssClass="aspDropDownList_shrinked clearMargins"></asp:DropDownList></ItemTemplate>
                                </asp:TemplateField>
                            </Columns>
                        </asp:GridView>
                    </asp:Panel>
                </ContentTemplate>
            </asp:UpdatePanel>
        </div>
    </ContentTemplate>
</eo:Dialog>

Incident:
Altering Dialog's InitialState in code-behind to Show/Hide it, resulted in showing/hiding Dialog WITHOUT any effect, no matter what. Attempting the same via JS however goes pretty well, but this turned to be costly! Surprisingly, adopting Client-Side approach displays the Block nicely, but renders Grid buttons unclickable!

No problem with Server-Side approach aside from Effects issue. However, we realised that 2 AJAX panels must be used if to perform correctly: 1 inside Dialog to manage Grid postbacks and one as a container of the Dialog itself! Despite that, Grid postbacks generated by its buttons will always result in entire Dialog being postedback accompanied by an unpleasant flickering, regardless UpdateMode of any of the 2 AJAX panels, and whether we use MS UpdatePanel or your CallbackPanel.

Finally, when Dialog shows for the first time (either approach), it causes adjacent TreeView to re-build; similar to incident reported in Case 2 of our Bug Report.

Regards,

Saed Hamdan
"Man may be destroyed but not defeated" -Hemmingway
Saed
Posted: Sunday, March 22, 2009 4:47:08 PM
Rank: Advanced Member
Groups: Member

Joined: 10/15/2008
Posts: 45
Hi,
More on this...Think

Scenario:
A simple Search Dialog, with a TextBox to enter keyword and 2 buttons: one to Accept entry then commence Search and one to Cancel... Simple and Straight, isn't it? Well, not exactly!



Incident:
1) Show/Hide Dialog via code-behind (InitialState):
Show is fine despite re-population of adjacent TreeView as always.
Hide causes entire page to pastback ignoring ALL AJAX panels, similar to postback without any AJAX panels. Why? Have no idea...

2) Show/Hide Dialog via Buttons:
Show is fine; smooth without flickers or impact on adjacent TV. However, Hiding is the issue... When enabling AcceptButtonPostBack, behaviour is identical to (1) above. Disabling said property, Dialog closes smoothly.

Only when Closing Dialog via the AcceptButton this behaviour occurs. Dialog Cancel or any other button on page have no problem.

But we need to capture TextBox entry upon Accept, so enabling AcceptButtonPostBack sounds essential. After hours of experimenting, we eventually stopped Dialog from pushing entire page to postback by placing it inside a CallbackPanel. The CallbackPanel has Dialog as its Trigger with its UpdateMode set to Self.

Code: HTML/ASPX
<asp:Content id="cnt_Content" ContentPlaceHolderID="contentBlock" Runat="Server">
    <%-- CONTENT --%>
    <div id="formWrapper">
        <asp:UpdatePanel id="upl_Content" runat="server" UpdateMode="Conditional">
            <ContentTemplate>
                <fieldset class ="aspUpdatePanel sidePadd">
                    ...
                </fieldset>
            </ContentTemplate>
        </asp:UpdatePanel>
    </div>
</asp:Content>

<asp:Content id="cnt_ActionBar" ContentPlaceHolderID="actionBlock" runat="server">
    <%-- ACTION BAR --%>
    <asp:UpdatePanel id="upl_Action" runat="server">
        <ContentTemplate>
            <table class="actionBlock" cellpadding="0" cellspacing="0">
                <tr>
                    <td class="centered"><asp:Button id="search" runat="server" ... />...<asp:Button id="close" runat="server" ... /></td>
                </tr>
            </table>
        </ContentTemplate>
    </asp:UpdatePanel>

    <%-- SEARCH DIALOG --%>
    <eo:CallbackPanel id="cbp_Dialog" runat="server" Triggers="{ControlID:dlg_Search;Parameter:}" UpdateMode="Self">                               
        <eo:Dialog id="dlg_Search" runat="server" ShowButton="search" AcceptButton="goSearch" CancelButton="cancel" AcceptButtonPostBack="true" >
            <ContentTemplate>
                <table class="msgBoxBody" cellspacing="0" cellpadding="0">
                    <tr>
                        <td><asp:Image id="DocSearch" runat="server" ImageUrl="~/..." /></td>
                        <td>
                            <div>Enter Employee Name of part of it:</div>
                            <asp:TextBox id="searchInput" runat="server" CssClass="aspTextBox width200" ></asp:TextBox>
                        </td>
                    </tr>
                </table>
            </ContentTemplate>
            <FooterTemplate>
                <div class="msgBoxFooter">
                    <asp:Button id="goSearch" runat="server" Text="Search" CssClass="msgBoxButton" /><asp:Button id="cancel" runat="server" Text="Cancel" CssClass="msgBoxButton" />
                </div>            
            </FooterTemplate>                
        </eo:Dialog>         
    </eo:CallbackPanel>                           
</asp:Content>


AcceptButton now appears to fire its Click event. However, inside its event handler in code-behind, ONLY Msgbox works! Nothing else! Does CBP block something? Check below:

Code: Visual Basic.NET
Protected Sub GoSearch(ByVal sender As Object, ByVal e As EventArgs) Handles goSearch.Click
     ' works
     Dim searchValue As String = searchInput.Text
     MsgBox("I have been fired... Captured Search value = [" & searchValue & "]")

     ' doesn't work - no action
     txt_Comments.Text = "hello world"
     txt_Comments.Focus()
     upl_Content.Update()

     ' doesn't work - no action
     txt_Comments.Text = "I have been fired."
     upl_Content.Update()

     ' doesn't work - no action
     txt_Temp.Text = "Entered value = " & searchValue
     upl_Temp.Update()

     ' doesn't work - no action
     If searchValue IsNot Nothing Then FindEmployee(searchValue)

End Sub


Please, if we are missing something appreciate if you kindly guide us... This becomes overwhelming. We wish to utilise Dialog via its Server-Side API. Would that be possible or it is a must to do everything via JS?

Thank you in advance.

Regards,




Saed Hamdan
"Man may be destroyed but not defeated" -Hemmingway
eo_support
Posted: Sunday, March 22, 2009 5:06:05 PM
Rank: Administration
Groups: Administration

Joined: 5/27/2007
Posts: 24,194
Hi,

You may need to consider removing the effects. We have been working on a few issues you reported earlier and we were having great trouble to either reproduce it or find a reliable solution for many of these small rendering issue. Most of these issues are due to browser bugs/quirks and it is not likely that we will have any solution for it. In fact even if we have a solution for your particular problem, we would be very hesitating to incorporate it into our product because it is too risky for us to do so. Removing effect should help you to get rid of most of these problems and still keep your core features intact.

Thanks!
Saed
Posted: Tuesday, March 24, 2009 3:30:07 AM
Rank: Advanced Member
Groups: Member

Joined: 10/15/2008
Posts: 45
eo_support wrote:
Most of these issues are due to browser bugs/quirks ...


In particular, IE 6 in Standard Compliant Mode; the setup we are implementing as prime! In other browsers including IE6-QuirckMode things look fine! We haven't discovered that until your reply though. I know that this is far from being professional, but we have an explicit request from top management to design our application relying on IE6 since the majority of targeted customers are still on IE6.Silenced

After removing that comment line and proving to management how smooth Dialog manipulation would be, we got the green light to come up with a feasible alternative (finally!). So, we dropped IE6 and moved to IE7+FF2 (and probably Opera 9); the thing we had in mind from first minute.

I hate when trapped in corner against own well, but we had to obey...Brick wall

That's said, Dialog sounds perfect now. Even those rendering issues seem to disappear.

BTW, RTL support is working fine even with IE6.

Great job EO... Thumps upApplause

Regards,

Saed Hamdan
"Man may be destroyed but not defeated" -Hemmingway
eo_support
Posted: Tuesday, March 24, 2009 8:57:07 AM
Rank: Administration
Groups: Administration

Joined: 5/27/2007
Posts: 24,194
Great. Thanks for the update!
Saed
Posted: Tuesday, March 24, 2009 9:06:33 AM
Rank: Advanced Member
Groups: Member

Joined: 10/15/2008
Posts: 45
Just to close this saga, pushing IE7 into Standard Complaint Mode triggers same problems. Leaving it as is, layout is missed out; exactly as it was with IE6!!!

Thanks MS for such a ridiculous product...

Regards,

Saed Hamdan
"Man may be destroyed but not defeated" -Hemmingway


You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You cannot vote in polls in this forum.