myfaces-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Werner Punz <we...@gmx.at>
Subject Re: s:modalDialog and commandButton action
Date Thu, 02 Nov 2006 22:02:57 GMT
Ok sorry that it took so long,

following there were several bugs in the dialog codebase:
I now fixed all of it.

You can use the dialog now in two ways
Either by using it and shift the values manually
or by embedding a form element within the dialog.
(There was a renderer bug which prevented that,
it is now fixed in the trunk)

(also there was code in it which triggered
the ie6 to go into a deadlock situation thanks
to the buggy rendering code of it also fixed)

There is a reason why you cannot embed the dialog into a
form directly. The reason is IE6 positioning bugs.

IE6 only works properly with floating elements
if they are at the beginning or and of the dom tree
but positioning entirely fails if the elements are within a form.

What dojo now does is to shift the dialog to the end
of the body which means the entire dialog elements
are moved out of the form.

What you now can do is to push a form into the dialog instead of 
surrounding it, and hence being able to do a proper form submit!
That should resolve most issues.

If you do not want this page refresh, traverse the values manually or
use ppr!


Werner


dweicht schrieb:
> I just want to know if there is any result in fixing this bug?
> 
> I want to use the sandbox modalDialog, and want to call an action from the
> dialog. But the action is not executed. I tried to turn off the scroller in
> my web.xml, but it did not work afterwards.
> 
> Here is a snipped from my code:
> 
> <html>
>       <body>
>             <f:view>
>                   .
>                   .
>                   .
>                   <style type="text/css">
>                         .dojoDialog {
>                              background : #eee;
>                              border : 1px solid #999;
>                              -moz-border-radius : 5px;
>                              padding : 4px;
>                         }
>                   </style>
>                   .
>                   .
>                   .
>                   <h:form id="userForm" rendered="true">
>                         .
>                         .
>                         .
>                         <h:dataTable value="#{occuHandler.fileList.upFiles}"
> var="fileVar" border="1">
>                               <h:column>
>                                     <f:facet name="header">
>                                          <f:verbatim>ID</f:verbatim>
>                                    </f:facet>
>                                    <h:outputText
> value="#{fileVar.file.fileId}"/>
>                               </h:column>
>                               .
>                               .
>                               .
>                               <h:column>
>                                     <f:facet name="header">
>                                          <f:verbatim>File name</f:verbatim>
>                                    </f:facet>
>                                    <t:popup styleClass="popup" >
>                                     .
>                                     .
>                                     .
>                                    <h:outputLink value = "#"
>                                               
> onclick="dojoDialog.show();document.getElementById('deleteFile').focus();">
>                                          <h:outputText value="Delete file"/>
>                                          <f:param name="delId"
> value="#{fileVar.file.fileId}" />
>                                    </h:outputLink>
>                                     .
>                                     .
>                                     .
>                         </h:dataTable>
>                   </h:form>
>                   <h:form>  
>                         <s:modalDialog    dialogId="DialogContent"
>                                          dialogVar="dojoDialog"
>                                          dialogAttr="bgColor='white'
> bgOpacity='0.5' toggle='fade' toggleDuration='250'"
>                                          hiderIds="deleteFile, cancel" 
>                                          styleClass="dojoDialog">
>                               <h:panelGrid columns="1">
>                                     <h:outputText value="Do you really want
> to delete this File?" />
>                               </h:panelGrid>
>                               <h:panelGrid columns="2">
>                                     <t:commandButton id="deleteFile"
> forceId="true" value="Delete" action="{fileHandler.deleteFile}" />
>                                     <t:commandButton id="cancel"
> forceId="true" value="Cancel" />
>                               </h:panelGrid>
>                         </s:modalDialog>
>                   </h:form>  
>             </f:view>
> </body>
> </html>
> 
> The modal dialogs opens, I can press both buttons and the dialog closes, but
> the action “fileHandler.deleteFile” is not executed.
> 
> For tomahawk and tomahawk-sandbox I included the snapshot versions 1.1.4.
> The snapshot version of the myfaces-api and myfaces-impl is 1.1.5
> 
> 
> Werner Punz wrote:
>> Werner Punz schrieb:
>>> Ok i have opened a bug report, I will investigate into the bug myself..
>>>
>> Ok I have investigated into the problem, as it seems there is something
>> else in the current codebase wrong, there is an issue with the scroller
>> code, which is entirely non dialog related which causes the javascripts
>> to bomb out too early.
>> Try to turn off the scroller via the config file and check if it helps.
>> I already notified the people responsible for this codepart to fix it.
>>
>>
>>
> 


Mime
View raw message