Modal Panel Problem 3.3.0
nathandennis Sep 17, 2008 3:43 AMIt would seem that any type of ajax call within a modal panel in last nights nightly build is causing the modal panel to close undesirably.
this was working code in both 3.2.0 and 3.2.2
<rich:modalPanel id="textboxmp" minHeight="375" minWidth="450" top="20" style="padding:0px;"> <f:facet name="header" style="height:20px;"> <h:outputText value="Edit Text" /> </f:facet> <f:facet name="controls"> <h:form id="textgenform"> <a:commandLink oncomplete="Richfaces.hideModalPanel('textboxmp');"> <h:graphicImage value="/img/error.gif" style="cursor:pointer;border:0px;" /> </a:commandLink> </h:form> </f:facet> <a:form id="textedit" ajaxSubmit="true"> <div id="textBox" style="position: absolute; left: 25px; top: 25px; z-index: 1; visibility: visible;"> <table width="100%"><tr><td align="center" colspan="4"> <span style="font-size:12pt;">Etching:</span><br/> <h:inputText value="#{textmodAction.text}" style="padding:2px;padding-left:4px;"> <a:support event="onkeyup" reRender="textgencontainer" eventsQueue="texteditQueue" ajaxSingle="true" /> </h:inputText> <br/> </td></tr> <tr><td> Font:<br/> <h:selectOneMenu id="fonttype" value="#{textmodAction.fonttype}"> <!-- <s:selectItems value="#{textmodAction.fontnamelist}" var="fnlist" label="#{textmodAction.fontnamelist.toString()}" /> --> <f:selectItem itemLabel="Arial" itemValue="Arial" /> <f:selectItem itemLabel="Courier" itemValue="Courier" /> <f:selectItem itemLabel="Dialog" itemValue="Dialog" /> <f:selectItem itemLabel="Lucida Sans" itemValue="Lucida Sans" /> <f:selectItem itemLabel="Lucida Bright" itemValue="Lucida Bright" /> <f:selectItem itemLabel="Helvetica" itemValue="Helvetica" /> <f:selectItem itemLabel="Monospaced" itemValue="Monospaced" /> <f:selectItem itemLabel="SansSerif" itemValue="SansSerif" /> <f:selectItem itemLabel="Serif" itemValue="Serif" /> <f:selectItem itemLabel="TimesRoman" itemValue="TimesRoman" /> <a:support event="onchange" eventsQueue="texteditQueue" reRender="textgencontainer" ajaxSingle="true"/> </h:selectOneMenu> </td><td> Font Color:<br/> <h:selectOneMenu id="fontcolor" name="fontcolor" value="#{textmodAction.fontcolor}" > <f:selectItem itemLabel="Black" itemValue="0" /> <f:selectItem itemLabel="Light Gray" itemValue="1" /> <f:selectItem itemLabel="Gray" itemValue="2" /> <f:selectItem itemLabel="Dark Gray" itemValue="3" /> <f:selectItem itemLabel="Blue" itemValue="4" /> <f:selectItem itemLabel="Green" itemValue="5" /> <f:selectItem itemLabel="Orange" itemValue="6" /> <f:selectItem itemLabel="Pink" itemValue="7" /> <f:selectItem itemLabel="Red" itemValue="8" /> <f:selectItem itemLabel="Magenta" itemValue="9" /> <f:selectItem itemLabel="Cyan" itemValue="10" /> <f:selectItem itemLabel="Yellow" itemValue="11" /> <f:selectItem itemLabel="White" itemValue="12" /> <a:support event="onchange" eventsQueue="texteditQueue" reRender="textgencontainer" ajaxSingle="true"/> </h:selectOneMenu> </td><td>Font Size:<br/> <h:selectOneMenu id="fontsize" value="#{textmodAction.fontsize}"> <f:selectItem itemLabel="36" itemValue="0" /> <f:selectItem itemLabel="24" itemValue="1" /> <f:selectItem itemLabel="20" itemValue="2" /> <f:selectItem itemLabel="18" itemValue="3" /> <f:selectItem itemLabel="16" itemValue="4" /> <f:selectItem itemLabel="14" itemValue="5" /> <f:selectItem itemLabel="12" itemValue="6" /> <f:selectItem itemLabel="11" itemValue="7" /> <f:selectItem itemLabel="10" itemValue="8" /> <f:selectItem itemLabel="8" itemValue="9" /> <a:support event="onchange" eventsQueue="texteditQueue" reRender="textgencontainer" ajaxSingle="true"/> </h:selectOneMenu> </td><td>Background Color<br/> <h:selectOneMenu id="backgroundcolor" value="#{textmodAction.backgroundcolor}"> <f:selectItem itemLabel="Transparent" itemValue="" /> <f:selectItem itemLabel="Black" itemValue="0" /> <f:selectItem itemLabel="Light Gray" itemValue="1" /> <f:selectItem itemLabel="Gray" itemValue="2" /> <f:selectItem itemLabel="Dark Gray" itemValue="3" /> <f:selectItem itemLabel="Blue" itemValue="4" /> <f:selectItem itemLabel="Green" itemValue="5" /> <f:selectItem itemLabel="Orange" itemValue="6" /> <f:selectItem itemLabel="Pink" itemValue="7" /> <f:selectItem itemLabel="Red" itemValue="8" /> <f:selectItem itemLabel="Magenta" itemValue="9" /> <f:selectItem itemLabel="Cyan" itemValue="10" /> <f:selectItem itemLabel="Yellow" itemValue="11" /> <f:selectItem itemLabel="White" itemValue="12" /> <a:support event="onchange" eventsQueue="texteditQueue" reRender="textgencontainer" ajaxSingle="true"/> </h:selectOneMenu> </td> </tr> <tr><td>Vertical Padding:<br/> <h:selectOneMenu id="paddingtop" value="#{textmodAction.paddingtop}"> <f:selectItem itemLabel="None" itemValue="0" /> <f:selectItem itemLabel="3" itemValue="3" /> <f:selectItem itemLabel="4" itemValue="4" /> <f:selectItem itemLabel="5" itemValue="5" /> <f:selectItem itemLabel="6" itemValue="6" /> <f:selectItem itemLabel="7" itemValue="7" /> <f:selectItem itemLabel="8" itemValue="8" /> <f:selectItem itemLabel="9" itemValue="9" /> <f:selectItem itemLabel="10" itemValue="10" /> <f:selectItem itemLabel="11" itemValue="11" /> <f:selectItem itemLabel="12" itemValue="12" /> <f:selectItem itemLabel="13" itemValue="13" /> <f:selectItem itemLabel="14" itemValue="14" /> <f:selectItem itemLabel="15" itemValue="15" /> <f:selectItem itemLabel="16" itemValue="16" /> <f:selectItem itemLabel="17" itemValue="17" /> <f:selectItem itemLabel="18" itemValue="18" /> <f:selectItem itemLabel="19" itemValue="19" /> <f:selectItem itemLabel="20" itemValue="20" /> <a:support event="onchange" eventsQueue="texteditQueue" reRender="textgencontainer" ajaxSingle="true"/> </h:selectOneMenu> </td> <td>Horizontal Padding:<br/> <h:selectOneMenu id="paddingside" value="#{textmodAction.paddingside}"> <f:selectItem itemLabel="None" itemValue="0" /> <f:selectItem itemLabel="3" itemValue="3" /> <f:selectItem itemLabel="4" itemValue="4" /> <f:selectItem itemLabel="5" itemValue="5" /> <f:selectItem itemLabel="6" itemValue="6" /> <f:selectItem itemLabel="7" itemValue="7" /> <f:selectItem itemLabel="8" itemValue="8" /> <f:selectItem itemLabel="9" itemValue="9" /> <f:selectItem itemLabel="10" itemValue="10" /> <f:selectItem itemLabel="11" itemValue="11" /> <f:selectItem itemLabel="12" itemValue="12" /> <f:selectItem itemLabel="13" itemValue="13" /> <f:selectItem itemLabel="14" itemValue="14" /> <f:selectItem itemLabel="15" itemValue="15" /> <f:selectItem itemLabel="16" itemValue="16" /> <f:selectItem itemLabel="17" itemValue="17" /> <f:selectItem itemLabel="18" itemValue="18" /> <f:selectItem itemLabel="19" itemValue="19" /> <f:selectItem itemLabel="20" itemValue="20" /> <a:support event="onchange" eventsQueue="texteditQueue" reRender="textgencontainer" ajaxSingle="true"/> </h:selectOneMenu> </td> <td></td> </tr> <tr><td>Border Size:<br/> <h:selectOneMenu id="bordersize" value="#{textmodAction.bordersize}"> <f:selectItem itemLabel="None" itemValue="0" /> <f:selectItem itemLabel="1" itemValue="1" /> <f:selectItem itemLabel="2" itemValue="2" /> <f:selectItem itemLabel="3" itemValue="3" /> <f:selectItem itemLabel="4" itemValue="4" /> <f:selectItem itemLabel="5" itemValue="5" /> <a:support event="onchange" eventsQueue="texteditQueue" reRender="textgencontainer" ajaxSingle="true"/> </h:selectOneMenu> </td><td>Border Color:<br/> <h:selectOneMenu id="bordercolor" value="#{textmodAction.bordercolor}"> <f:selectItem itemLabel="Transparent" itemValue="" /> <f:selectItem itemLabel="Black" itemValue="0" /> <f:selectItem itemLabel="Light Gray" itemValue="1" /> <f:selectItem itemLabel="Gray" itemValue="2" /> <f:selectItem itemLabel="Dark Gray" itemValue="3" /> <f:selectItem itemLabel="Blue" itemValue="4" /> <f:selectItem itemLabel="Green" itemValue="5" /> <f:selectItem itemLabel="Orange" itemValue="6" /> <f:selectItem itemLabel="Pink" itemValue="7" /> <f:selectItem itemLabel="Red" itemValue="8" /> <f:selectItem itemLabel="Magenta" itemValue="9" /> <f:selectItem itemLabel="Cyan" itemValue="10" /> <f:selectItem itemLabel="Yellow" itemValue="11" /> <f:selectItem itemLabel="White" itemValue="12" /> <a:support event="onchange" eventsQueue="texteditQueue" reRender="textgencontainer" ajaxSingle="true"/> </h:selectOneMenu> </td><td></td></tr> </table> </div> <div id="savetextLayer" style="position:absolute; left: 25px; top: 300px; float:right; z-index:2; margin-right:15px; "> <a:commandButton id="savetextbutton" value="Save Layer" ajaxSingle="true" actionListener="#{textmodAction.saveEditedPicture}" reRender="editcontainer,sidebarcontainer" oncomplete="Richfaces.hideModalPanel('textboxmp');" eventsQueue="texteditQueue"> <s:conversationId/> <a:actionparam name="picActionupid" value="#{picAction.upshift}" assignTo="#{picAction.upid}"/> </a:commandButton> <a:commandButton style="width:100px;" value="Cancel And Exit" oncomplete="Richfaces.hideModalPanel('textboxmp');"> </a:commandButton> </div> </a:form> <div id="graphicBox" style="position: absolute; left: 25px; top: 215px; z-index: 1; visibility: visible;"> <a:outputPanel id="textgencontainer"> <s:graphicImage id="textphoto" value="#{textmodAction.outpic}" alt="Image" style="z-index:250;" rendered="#{textmodAction.outpic != null}" cacheable="false"/> </a:outputPanel> </div> </rich:modalPanel>
it would appear that each ajax submit is submitting the entire form... much like using an h:commandButton or something.
03:39:12,037 ERROR [STDERR] Sep 17, 2008 3:39:12 AM org.exadel.jsf.PhaseTracker beforePhase INFO: BEFORE RESTORE_VIEW 1 03:39:12,067 ERROR [STDERR] Sep 17, 2008 3:39:12 AM org.exadel.jsf.PhaseTracker afterPhase INFO: AFTER RESTORE_VIEW 1 03:39:12,067 ERROR [STDERR] Sep 17, 2008 3:39:12 AM org.exadel.jsf.PhaseTracker beforePhase INFO: BEFORE APPLY_REQUEST_VALUES 2 03:39:12,070 ERROR [STDERR] Sep 17, 2008 3:39:12 AM org.exadel.jsf.PhaseTracker afterPhase INFO: AFTER APPLY_REQUEST_VALUES 2 03:39:12,070 ERROR [STDERR] Sep 17, 2008 3:39:12 AM org.exadel.jsf.PhaseTracker beforePhase INFO: BEFORE PROCESS_VALIDATIONS 3 03:39:12,083 ERROR [STDERR] Sep 17, 2008 3:39:12 AM org.exadel.jsf.PhaseTracker afterPhase INFO: AFTER PROCESS_VALIDATIONS 3 03:39:12,083 ERROR [STDERR] Sep 17, 2008 3:39:12 AM org.exadel.jsf.PhaseTracker beforePhase INFO: BEFORE UPDATE_MODEL_VALUES 4 03:39:12,104 ERROR [STDERR] Sep 17, 2008 3:39:12 AM org.exadel.jsf.PhaseTracker afterPhase INFO: AFTER UPDATE_MODEL_VALUES 4 03:39:12,105 ERROR [STDERR] Sep 17, 2008 3:39:12 AM org.exadel.jsf.PhaseTracker beforePhase INFO: BEFORE INVOKE_APPLICATION 5 03:39:12,109 ERROR [STDERR] Sep 17, 2008 3:39:12 AM org.exadel.jsf.PhaseTracker afterPhase INFO: AFTER INVOKE_APPLICATION 5 03:39:12,110 ERROR [STDERR] Sep 17, 2008 3:39:12 AM org.exadel.jsf.PhaseTracker beforePhase INFO: BEFORE RENDER_RESPONSE 6
AJAXREQUEST=_viewRoot&j_id245%3Atextedit%3Afonttype=Arial&j_id245%3Atextedit%3Afontcolor=0&j_id245%3Atextedit %3Afontsize=0&j_id245%3Atextedit%3Abackgroundcolor=&j_id245%3Atextedit%3Apaddingtop=0&j_id245%3Atextedit %3Apaddingside=0&j_id245%3Atextedit%3Abordersize=0&j_id245%3Atextedit%3Abordercolor=&j_id245%3Atextedit =j_id245%3Atextedit&autoScroll=&javax.faces.ViewState=j_id19&j_id245%3Atextedit%3Aj_id254=te&ajaxSingle =j_id245%3Atextedit%3Aj_id254&j_id245%3Atextedit%3Aj_id255=j_id245%3Atextedit%3Aj_id255&
help if possible. i know this is to be expected by moving to the nightly builds but i needed a fix for the broken ui:repeat a4j:repeat and DnD in 3.2.2.