Hi John Did you succeed with this? If not please send the mail to the users list instead.. And we will continue the thread there..
2010/5/29 jammyjohn <[email protected]>: > > Hi, > > Could any one please help me fixing this panel refresh issue. > first time the panel is refreshed. and that too with (setResponsePage() as > workaround). > Afterwards it is not getting refreshed at all. Always retains the previous > value... > > 1.I have an Ajaxbutton, on click of it- opens a ModalWindow. > 2, In the modal window I am selecting a contact id, and on window call back, > I am painting the panel with all the contact details (like email, phone, > fax...) > 3. These fields are basically set of textfields in panel. > > Please note first time when I select a id from my Modalwindow.. my panel is > refreshed with correct values.. > and also I need to use setResponsePage().. otherwise it does not work.. > > But, if I try to select a different id for the second timefrom my > ModalWindow... my panel still has the old values. > > Please help. > > Thanks for your time. > > The code is as below.. > > //ContactPanel.java > > public class ContactPanel extends Panel { > > private static final long serialVersionUID = 1L; > > > public ContactPanel(String id, IModel model) { > super(id); > setDefaultModel(new CompoundPropertyModel(model)); > add(new > TextField("name").setConvertEmptyInputStringToNull(false)); > add(new > TextField("phone").setConvertEmptyInputStringToNull(false)); > add(new > TextField("email").setConvertEmptyInputStringToNull(false)); > add(new > TextField("fax").setConvertEmptyInputStringToNull(false)); > } > > } > > //ContactPanel.html > > <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" > "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> > > <html xmlns="http://www.w3.org/1999/xhtml" > xmlns:wicket="http://wicket.sourceforge.net/" xml:lang="en" lang="en"> > <body> > <wicket:panel> > <tr class="detailH15"> > <th align='right'>Contact:</th> > <td nowrap='nowrap'> > <input type='text' wicket:id="name" size='15' > maxlength='40' /> Phone: > <input type='text' wicket:id="phone" size='12' > maxlength='30'/> > </td> > </tr> > <tr class="detailH15"> > <th align='right'>Email:</th> > <td nowrap='nowrap'> > <input type='text' wicket:id="email" size='20' > maxlength='50'/> > Fax > <input type='text' wicket:id="fax" size='12' > maxlength='20' /> > </td> > </tr> > </wicket:panel> > </body> > </html> > > > //adding panel to a form > > Panel contactPanel = new ContactPanel("contactPanel", new > LoadableDetachableModel(){ > �...@override > protected Object load() { > return > extraChildrenMawbModel.getObject().getContact(); > } > }); > > contactPanel .setOutputMarkupId(true); > form.add(contactPanel ); > > > > //adding AJax Button to a form > > final IModel inputModel =new Model(); > final IModel outputModel =new Model(); > > AjaxButton contactLookupBtn = new AjaxButton("contactLookup"){ > private static final long serialVersionUID = 1L; > �...@override > protected void onSubmit(AjaxRequestTarget target, Form > arg1) { > inputModel.setObject("contact"); > contactLookup.show(target); > } > }; > > form.add(contactLookupBtn .setDefaultFormProcessing(false)); > > //adding ModalWindow to the page > > final ModalWindow contactLookup; > add(contactLookup= new ModalWindow("contactLookupWindow")); > > contactLookup.setPageMapName("modal-1"); > > //Modalwindow callback code........ > contactLookup.setWindowClosedCallback(new > ModalWindow.WindowClosedCallback(){ > public void onClose(AjaxRequestTarget target){ > > Object outputModelObj = outputModel.getObject(); > if (outputModelObj != null) { > final Contact contact = > contactDao.loadContact((Long)outputModelObj); > if (inputModel.getObject().equals("contact")) { > > final Panel newContactPanel = new > ContactPanel("contactPanel", new LoadableDetachableModel() { > �...@override > protected Object load() { > // TODO Auto-generated > method stub > return > extraChildrenMawbModel.getObject().getContact(); > } > }); > > newContactPanel.setOutputMarkupId(true); > > contactPanel.replaceWith(newContactPanel); > contactPanel = newContactPanel; > target.addComponent(newContactPanel); > > setResponsePage(getPage()) > target.addComponent(feedback) > } > > //closeButtonCallback > > contactLookup.setCloseButtonCallback(new ModalWindow.CloseButtonCallback(){ > public boolean onCloseButtonClicked(AjaxRequestTarget target) { > target.addComponent(feedback); > return true; > } > }); > > > //adding panel to my parent html page... > My main html page as.. > > <tr wicket:id="contactPanel"></tr> > > //adding lookup window to the page > <div wicket:id="contactLookupWindow"></div> > > Appreciate your help. > Jamuna > > > > > -- > View this message in context: > http://apache-wicket.1842946.n4.nabble.com/Panel-not-getting-refreshed-when-posted-from-ModalWindow-tp2235350p2235350.html > Sent from the Wicket - Dev mailing list archive at Nabble.com. >
