You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@myfaces.apache.org by András Piros <a....@avedas.com> on 2006/10/16 11:39:26 UTC

Re: t:panelTabbedPane and t:dataScroller: links work only on the first p

hi all,

so I've finally found out it was my fault -- I shouldn't have _always_
updated my tabbed pane in the set() method. Now I differentiate the cases
when I have to - then I update, and when I don't - then not. So it works now
somehow.

The moral of the story is, don't ever trust JSF regarding error messages -
in this case I did not get any, it simply did not work always as expected.

Till next time.

Enjoy,

:andras



András Piros wrote:
> 
> Hi Mike,
> 
> sorry to inform you, it does not work with the tomahawk 1.1.5 snapshot
> from 22-Sep-2006 04:50.
> 
> :andras
> 
> 
> Mike Kienenberger wrote:
>> 
>> There were some changes made with javascript and links on Sat Jul 15
>> 09:24:06 2006 to improve compatibility with the JSF RI.
>> 
>> You might try a 1.1.5 snapshot and see if the problem is already fixed.
>> 
>> 
>> On 9/22/06, András Piros <a....@avedas.com> wrote:
>>>
>>> Hi folks,
>>>
>>> I'm using MyFaces Tomahawk 1.1.3 and Sun's RI 1.2 together in an
>>> enterprise app under Sun's GlassFish appserver.
>>>
>>> If I have a t:dataTable, which has a t:dataScroller, my h:commandLinks
>>> inside t:dataTable work just fine, on the first page, and on every other
>>> page of the dataTable:
>>> [image: t:panelTabbedPane and t:dataScroller: links work only on the
>>> first
>>> page] [image: t:panelTabbedPane and t:dataScroller: links work only on
>>> the
>>> first page]
>>>
>>> So far, so good. But, if I generate a t:dataTable on every tab of a
>>> t:panelTabbedPane (I must generate them in the backing bean
>>> programmatically, because I don't even know in advance how much tabs I
>>> have...), and generate a t:dataScroller for every t:dataTable inside my
>>> panelTabbedPane, my h:commandLinks are working only on the first page of
>>> every table, they are actually not working on the subsequent pages:
>>> [image: t:panelTabbedPane and t:dataScroller: links work only on the
>>> first
>>> page] [image: t:panelTabbedPane and t:dataScroller: links work only on
>>> the
>>> first page]
>>>
>>> On the subsequent pages, nevertheless, a HTTP POST is done on the form
>>> (every component is inside a single form), but funnily, neither the
>>> commandLink's action, nor its actionListener methods are called. Instead
>>> of
>>> the link working, the dataScroller just jumps back to the first page on
>>> the
>>> actual tab.
>>>
>>> Any ideas? Your replies are highly appreciated!
>>>
>>> enjoy,
>>>
>>> :andras
>>>
>>> JSF code:
>>>                      <t:panelTabbedPane binding="#{
>>> infoobjecttabbedpanebean.tabbedPane}"
>>>                             bgcolor="#EBEEF8" width="90%"
>>> cellspacing="1"
>>>                             styleClass="tabbedPane" align="center"
>>>                             activeTabStyleClass="activeTab"
>>>                             inactiveTabStyleClass="inactiveTab"
>>>                             disabledTabStyleClass="disabledTab"
>>>                             activeSubStyleClass="activeSub"
>>>                             inactiveSubStyleClass="inactiveSub"
>>>                             tabContentStyleClass="tabContent" />
>>>
>>> Java code:
>>>  public class InfoObjectTabbedPaneBean {
>>>
>>>     ...
>>>
>>>     public HtmlPanelTabbedPane getTabbedPane() {
>>>         if (this.htmlPanelTabbedPane == null) {
>>>             Application app = FacesContext.getCurrentInstance
>>> ().getApplication();
>>>
>>>             // tabbedpane
>>>             this.htmlPanelTabbedPane
>>>  = (HtmlPanelTabbedPane)app.createComponent(
>>> HtmlPanelTabbedPane.COMPONENT_TYPE);
>>>         }
>>>         updateTabbedPane(this.htmlPanelTabbedPane);
>>>         return this.htmlPanelTabbedPane;
>>>     }
>>>
>>>     public void setTabbedPane(HtmlPanelTabbedPane tabbedPane){
>>>         updateTabbedPane(tabbedPane);
>>>         this.htmlPanelTabbedPane = tabbedPane;
>>>     }
>>>
>>>     public void updateTabbedPane(HtmlPanelTabbedPane hptp) {
>>>         Application app = FacesContext.getCurrentInstance
>>> ().getApplication();
>>>         ValueExpression valueExpressionOfId;
>>>         ValueExpression valueExpressionOfType;
>>>         int cntTabs = 0;
>>>
>>>         // Reset
>>>         hptp.getChildren().clear();
>>>         for (...) {
>>>
>>>             // Get data from EJBs...
>>>
>>>             // tab i
>>>             UIPanel tab = (HtmlPanelTab)app.createComponent(
>>> HtmlPanelTab.COMPONENT_TYPE);
>>>             tab.setId("panelTab" + cntTabs);
>>>             tab.getAttributes().put("label", actInfoObjectTypeName);
>>>             hptp.getChildren().add(tab);
>>>
>>>             // datatable
>>>             HtmlDataTable myHdt = new HtmlDataTable();
>>>             myHdt.setId("hdtId" + cntTabs);
>>>             myHdt.setVar("hdtVar" + cntTabs);
>>>             myHdt.setRows(10);
>>>             myHdt.setBorder(0);
>>>             myHdt.setCellpadding("5");
>>>             myHdt.setCellspacing("0");
>>>             myHdt.setHeaderClass("columnheader");
>>>             myHdt.setRowClasses("oddrow, evenrow");
>>>             UIData hdt = myHdt;
>>>             tab.getChildren().add(hdt);
>>>
>>>             // Data scroller for actual HtmlDataTable
>>>             HtmlDataScroller scroller = new HtmlDataScroller();
>>>             scroller.setPaginator(true);
>>>             scroller.setPaginatorActiveColumnClass("evenrow");
>>>             scroller.setPaginatorColumnClass("oddrow");
>>>             scroller.setPaginatorMaxPages(10);
>>>             scroller.setId("SCROLLER_" + "hdtId" + cntTabs);
>>>             scroller.setFor("hdtId" + cntTabs);
>>>             scroller.setFastStep(10);
>>>             scroller.setPageIndexVar("pageIndex");
>>>             scroller.setPageCountVar("pageCount");
>>>             // First
>>>             HtmlGraphicImage imageFirst = new HtmlGraphicImage();
>>>             imageFirst.setUrl("/images/first.gif");
>>>             imageFirst.setAlt("First");
>>>             imageFirst.setStyleClass("imagelink");
>>>             scroller.setFirst(imageFirst);
>>>             // Last
>>>             HtmlGraphicImage imageLast = new HtmlGraphicImage();
>>>             imageLast.setUrl("/images/last.gif");
>>>             imageLast.setAlt("First");
>>>             imageLast.setStyleClass("imagelink");
>>>             scroller.setLast(imageLast);
>>>             // Previous
>>>             HtmlGraphicImage imagePrevious = new HtmlGraphicImage();
>>>             imagePrevious.setUrl("/images/prev.gif");
>>>             imagePrevious.setAlt("Previous");
>>>             imagePrevious.setStyleClass("imagelink");
>>>             scroller.setPrevious(imagePrevious);
>>>             // Next
>>>             HtmlGraphicImage imageNext = new HtmlGraphicImage();
>>>             imageNext.setUrl("/images/next.gif");
>>>             imageNext.setAlt("Next");
>>>             imageNext.setStyleClass("imagelink");
>>>             scroller.setNext(imageNext);
>>>             tab.getChildren().add(scroller);
>>>
>>>             // Setup data model...
>>>
>>>             hdt.setValue(actTable);
>>>
>>>             for (...) {
>>>                 // Create column
>>>                 UIColumn column = (UIColumn)app.createComponent(
>>> HtmlSimpleColumn.COMPONENT_TYPE);
>>>
>>>                 // Create and add header
>>>                 UIOutput header = (UIOutput)app.createComponent(
>>> HtmlOutputText.COMPONENT_TYPE);
>>>                 header.setValue(actName);
>>>                 column.setHeader(header);
>>>
>>>                 // Create and add content
>>>
>>>                 // First column: link to detail view, attach primary key
>>> of the
>>>                 // InfoObject which detail view has to be presented
>>>                 // Other columns: no link
>>>
>>>                 // add column
>>>                 hdt.getChildren().add(column);
>>>
>>>                 cntCols++;
>>>             }
>>>
>>>             // Add column for Delete and Edit buttons
>>>
>>>             // add column
>>>             hdt.getChildren().add(columnEditDelete);
>>>
>>>         }
>>>
>>>     }
>>>
>>>     ...
>>>
>>> }
>>>
>>> ------------------------------
>>> View this message in context: t:panelTabbedPane and t:dataScroller:
>>> links
>>> work only on the first
>>> page<http://www.nabble.com/t%3ApanelTabbedPane-and-t%3AdataScroller%3A-links-work-only-on-the-first-page-tf2316788.html#a6443898>
>>> Sent from the MyFaces -
>>> Users<http://www.nabble.com/MyFaces---Users-f181.html>mailing list
>>> archive at
>>> Nabble.com.
>>>
>> 
>> 
> 
> 

-- 
View this message in context: http://www.nabble.com/t%3ApanelTabbedPane-and-t%3AdataScroller%3A-links-work-only-on-the-first-page-tf2316788.html#a6831128
Sent from the MyFaces - Users mailing list archive at Nabble.com.