5 Replies Latest reply: May 14, 2013 9:43 AM by jeremy_hull RSS

    Table with partialTrigger on Carousel and vice versa

    1007988
      Hello developers,

      I am using Jdeveloper 11.1.2.3.0.

      I have a page that contains table with members of a club and on a same page Carousel component that should display images of members with some statistics data. Is it possible to have partial trigger on table and carousel at the same time so when you select row in table the carousel shows image of selected member and when you navigate the carousel current item in carousel triggers selection of corresponding row. I have read two topics on similar problem but no solution. I have tried to implement mr. Frank Nimphius custom selection listeners for both table and carousel but when I'm using carousel or table it works fine in one direction when I try the other component both stop working. Is it problem with synchronization between layers? Is it possible?

      Thank you in advance,

      Leon
        • 1. Re: Table with partialTrigger on Carousel and vice versa
          Frank Nimphius-Oracle
          Hi,

          if it stopped working then because you created and infinite loop of refreshes because the table triggers the carousel item, the carousel item triggers the table etc. So I suggest you implement it as follows

          1. on carousel, set the PartuialTrigger property to point to the table id so the carousel changes when row currency in the table changes
          2. On the carousel use the carouselSpinListener to detect changes of the current selected carousel item to then

          ... change the table current row setting
          ... call AdfFacesContext.getCurrentInstance().addPartialTrigger(<table id>) to refresh the table

          This should prevent the infinite refreshes

          Frank
          • 2. Re: Table with partialTrigger on Carousel and vice versa
            1007988
            Thank you for your quick reply,

            I forgot to mention that carousel uses the same VO :) Maybe that is the problem. I have tried what you wrote but it is still not two directional navigation first time when I use table it works fine and then I use carousel it is perfect after that I switch to table again but carousel dose not respond it gets refreshed but blocked on previously selected row.
            I had put partial trigger on carousel with table id, and spin listener method looks like this:

            public void spinEvent(CarouselSpinEvent carouselSpinEvent) {

            List currentSelectedKey = (List) carouselSpinEvent.getNewItemKey();

            RichCarousel carousel = (RichCarousel) carouselSpinEvent.getSource();

            CollectionModel componentModel = (CollectionModel) carousel.getValue();

            JUCtrlHierBinding carouselTreeBinding = (JUCtrlHierBinding) componentModel.getWrappedData();

            JUCtrlHierNodeBinding selectedCarouselItemNode = carouselTreeBinding.findNodeByKeyPath(currentSelectedKey);

            Key currentCarouselItemKey = selectedCarouselItemNode.getRowKey();


            //set table row

            CollectionModel _tableModel =
            (CollectionModel) _table.getValue();

            JUCtrlHierBinding _adfTableBinding =
            (JUCtrlHierBinding) _tableModel.getWrappedData();

            DCIteratorBinding _tableIteratorBinding =
            _adfTableBinding.getDCIteratorBinding();

            _tableIteratorBinding.setCurrentRowWithKey(
            carouselItemKey.toStringFormat(true));

            AdfFacesContext.getCurrentInstance().addPartialTarget(table);

            }


            So I gave up and said that I want to use only table side navigation but in any way dosen't work after I use carousel. Is it problem because it is the same VO?
            • 3. Re: Table with partialTrigger on Carousel and vice versa
              jeremy_hull
              There is no setCurrent() or setCurrentRowKey()? for the carousel, so until that is added, what you want to do will require some workarounds. I would suggest filing an SR, so that you can get notified if that is fixed. Also, the bug has workaround info, which does work.

              Edited by: jeremy_hull on May 13, 2013 10:59 AM
              • 4. Re: Table with partialTrigger on Carousel and vice versa
                1007988
                Hello Jeremy,

                I did not understand you. What workaround? Can you be please more specific. What confuses me most is that on first selection it works normal one way or two way if you implement custom selection listeners and when you switch to carousel, next time when you use table carousel is blocked. So how to workaround that?

                Thank you in advance,

                Leon
                • 5. Re: Table with partialTrigger on Carousel and vice versa
                  jeremy_hull
                  Sorry, I cannot be more specific, as I no longer have access to the information. But I do know it is there, and if you file an SR, you should be able to get access to the workaround that I know worked. It has to do with carousel not having a makeCurrent() implementation.