2 Replies Latest reply: Feb 27, 2013 4:34 PM by Sudipto Desmukh RSS

    Panel Accordion programmatic disclose

    874675
      I am facing an issue with Panel Accordion programmatic disclose:

      I implemented an ADF application which has a page with a af:panelAccordion and three af:showDetailItem. In the second af:showDetailItem, I put a button and wrote an action listener to programmatically disclose the af:showDetailItem. This works correctly.
              if (this.showDetailOneBinding != null) {
                  this.showDetailOneBinding.setDisclosed(false);
              }
              if (this.showDetailTwoBinding != null) {
                  this.showDetailTwoBinding.setDisclosed(false);
              }
              if (this.showDetailThreeBinding != null) {
                  this.showDetailThreeBinding.setDisclosed(true);
              }
              if (this.panelAccordianBinding != null) {
                  AdfFacesContext.getCurrentInstance().addPartialTarget(this.panelAccordianBinding);
              }
      Now when I package this ADF application as an ADF Library JAR and consume it inside a Webcenter Portal application, the same functionality is not working.

      Any thoughts on what am I missing?

      Please advise.

      PS: I posted this thread on WebCenter Portal forum as well, but since the audience might be different on these two forums, I am cross-posting:

      Panel Accordion programmatic disclose
        • 1. Re: Panel Accordion programmatic disclose
          Sudipto Desmukh
          Where did you register the bean where you are doing this programmatic disclousre ?
          It should be registered within your taskflow.
          • 2. Re: Panel Accordion programmatic disclose
            Sudipto Desmukh
            Deepak ,
            I used Jdev 11.1.1.6 and could get this partially working.
            I registered the bean in the taskflow in request scope and used the exact code that you mentioned above.

            EDIT --
            I) I noticed that this works perfectly fine in an ADF application any no. of times meaning expanding / collpasing the showDetail , clicking the button to expand.
            II)Once consumed as a ADF Library JAR inside a Webcenter Portal Application I see that this WORKS FINE ONLY THE FIRST TIME (per session) .. for all subsequent changes / expansion / collapse the button click doesnot seem to do anything.
            Looks like everything gets persisted !

            I tried the following to counter this without any luck -

            1)Set dontPersist="ALL" for the showDetailItems
            http://jdevadf.oracle.com/adf-richclient-demo/docs/tagdoc/af_showDetail.html

            2)set the disclosed attribute to point to managed bean values which are set using similar code as above . Suggestion from Frank in post below -
            paneltabbed with showdetailitem(s) ignores disclosed property

            3)Use code like below in bean to override default behaviour of FacesBean to persist changes -
            FacesBean bean=showDetailThreeBinding.getFacesBean();
            bean.setProperty(RichShowDetailItem.DISCLOSED_KEY, null);
            as in forum post -Need help controlling disclosure of panelBoxes in af:iterator

            4)Setup MDS as specified in above forum post and adhering to -
            http://fusion.kabolly.com/~sheffie1/kabolly/fusion/fusionapps.1111/e15524/ext_customize.htm#CFHIFCII

            5)Removed/Commented MDS and +<persist-operations>+ from adf-config.xml without any luck.

            The only thing which I hadn't tried cos I felt it was too much of an effort is to create a declaritive component which extends RichShowDetailItem as detailed
            by Simon Lessard      in forum post -Need help controlling disclosure of panelBoxes in af:iterator

            Edited by: Sudipto Desmukh on Feb 27, 2013 4:13 PM