Monday, May 31, 2010

Choise list in popup turn to null after submit (Fixed in 11.1.1.4)

After migration we have strange behavior in popups with choise list, file upload and other components.
I managed to reproduce it in a simple test case with a table and a Edit popup with a simple choise list.
The first time i open popup it looks ok

If i press 'Submit' button (full submit) the popup is closed as expected since it is autoCancel enabled.

But if i open popup again, then the coise list is empty!!??


This causes other side effects. I.e. if you have partial trigger in popup components from page table, then when you change a line after you have closed popup with submit you get the following error:



The following does not happen if you press the ok/cancel dialog buttons or x button.

The workaround we are using is not to use full submit buttons in popups, and close popup programaticaly in backing bean:

public void closePopUp(String popUpId){
FacesContext facesContext = FacesContext.getCurrentInstance(); ExtendedRenderKitService service = Service.getRenderKitService
(facesContext, ExtendedRenderKitService.class);
service.addScript(facesContext, "AdfPage.PAGE.findComponent('templateid:"+ popUpId
+"').hide();");
}


Also with autocancel = enabled, then a partial submit button and a partial trigger on popup or on parent component will close the popup without problem.

Test case:
http://adfbugs.googlecode.com/files/TestPopup.zip

4 comments:

  1. We had the same bug in 11.1.1.2... one workaround we used was, with the popup set to lazy uncached, make sure it has a partial trigger to the panel collection with your table, and the panel collection has a partial trigger to the popup's save/submit button... but 11.1.1.3 re-broke most of these "fixed" popups.

    Some do still work, but I think I'll try your programatic approach - so thank you for the new workaround!

    ReplyDelete
  2. I am experiencing this same issue with the inputListOfValues component when I click "ok" in the popup dialog. This work-a-round sounds very interesting. Do you have a sample of, or explanation for, how this would be called? Would it be an event listener that calls it? If so, what event? Or is there something that needs to be overridden? Thanks.

    ReplyDelete
  3. Hi, I was experiencing the same bug, and closing the popUp programmatically with partialSubmit solved the situation!

    Big Thanks from me!

    Still I'm amazed at the number of bugs or lack of simple logic in a lot of Oracle's Adf libraries - it's beyond the normal human errors statistics! ;)

    ReplyDelete
  4. Its because too many humans work on it i guess...

    ReplyDelete