[ https://issues.jboss.org/browse/RF-13645?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12971630#comment-12971630 ]
Juraj Húska edited comment on RF-13645 at 5/29/14 9:08 AM: ----------------------------------------------------------- Reproduced on this example: https://github.com/jhuska/richfaces-sanbox/tree/RF-13645 Steps to reproduce: # clone, build and deploy example from above mentioned URL. # load http://localhost:8080/richfaces-sanbox/ # Two ways to break the Context menu, *first one* ## invoke context menu in the first panel, first tab on any line ## click on its only item ## see that one more line in the {{extendedDataTable}} is added, however, subsequent {{contextMenu}} invoking does not work. # *Second way* ## in the first panel, switch the {{tabPanel}}, and switch it back ## see that {{contextMenu}} can not be invoked anymore ## Note that adding {{contextMenu}} and {{table}} ids into the {{render}}} attribute of {{tab}} does not help. Note, the second panel is just informatory. It shows fixed RF-11973 4.3.5, which fixing seems to cause this issue. [This|https://github.com/richfaces4/components/commit/a0c4535de18dd74fa0965b9c2729734767e2a59f] commit. was (Author: jhuska): Reproduced on this example: https://github.com/jhuska/richfaces-sanbox/tree/RF-13645 Steps to reproduce: # clone, build and deploy example from above mentioned URL. # load http://localhost:8080/richfaces-sanbox/ # Two ways to break the Context menu, *first one* ## invoke context menu in the first panel, first tab on any line ## click on its only item ## see that one more line in the {{extendedDataTable}} is added, however, subsequent {{contextMenu}} invoking does not work. # *Second way* ## in the first panel, switch the {{tabPanel}}, and switch it back ## see that {{contextMenu}} can not be invoked anymore ## Note that adding {{contextMenu}} and {{table}} into the {{render} attribute of {{tab}} does not help. Note, the second panel is just informatory. It shows fixed RF-11973 4.3.5, which fixing seems to cause this issue. [This|https://github.com/richfaces4/components/commit/a0c4535de18dd74fa0965b9c2729734767e2a59f] commit. > contextMenu for extendedDataTable breaks after ajax render of contextMenu > ------------------------------------------------------------------------- > > Key: RF-13645 > URL: https://issues.jboss.org/browse/RF-13645 > Project: RichFaces > Issue Type: Bug > Security Level: Public(Everyone can see) > Components: component-menu > Affects Versions: 4.3.5, 4.3.6 > Environment: WIN7 / JBOSS AS 7.1.1 > Reporter: Steffen Michel > Assignee: Juraj Húska > Priority: Blocker > > Anything that causes an ajax re-render of a contextMenu which is attached to > an extendedDataTable causes the contextMenu to subsequently be broken, > triggering a JavaScript error instead of displaying the menu. The error seems > to be this: > {quote} > Cannot call method 'show' of null in menu-base.js (at line 108 there is a > call to this.popup, but popup is null) > {quote} > The reason I need to ajax re-render the context menu is because in my > situtation it's held within a tab panel, and if it doesn't get re-rendered > then it stops working after switching tabs using ajax mode (though it also > breaks if the contextMenu is held outside of the tab panel, so that isn't a > potential solution). > > I created a stripped down example of my specific situation, with two extended > data tables, each held in a different tab within a tab panel, and one context > menu for each table. Changing tabs will cause the context menu to break > without it explicitly being called in a render list. The same kind of break > occurs if the contextMenu is called as part of any ajax render list: > {code} > <!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:h="http://java.sun.com/jsf/html" > xmlns:rich="http://richfaces.org/rich"> > <h:head></h:head> > <h:body> > <h:form id="testForm"> > <rich:tabPanel> > <rich:tab id="tab1" header="Tab 1"> > <rich:extendedDataTable value="#{testBean.items}" > var="beanVar" id="table1"> > <rich:column id="col1"> > <h:outputText value="#{beanVar}"/> > </rich:column> > </rich:extendedDataTable> > <rich:contextMenu id="contextMenu1" target="table1"> > <rich:menuItem render="table1,contextMenu1" mode="ajax" > > actionListener="#{testBean.addItem}">Context Menu 1 Item</rich:menuItem> > </rich:contextMenu> > </rich:tab> > <rich:tab id="tab2" header="Tab 2"> > <rich:extendedDataTable value="#{testBean.items}" > var="beanVar2" id="table2"> > <rich:column id="col2"> > <h:outputText value="#{beanVar2}"/> > </rich:column> > </rich:extendedDataTable> > <rich:contextMenu id="contextMenu2" target="table2"> > <rich:menuItem render="table2,contextMenu2" mode="ajax" > > actionListener="#{testBean.addItem}">Context Menu 2 Item</rich:menuItem> > </rich:contextMenu> > </rich:tab> > </rich:tabPanel> > </h:form> > </h:body> > </html> > {code} > And a simple test bean: > {code} > import > org.apache.myfaces.extensions.cdi.core.api.scope.conversation.ViewAccessScoped; > > import javax.inject.Named; > import java.io.Serializable; > import java.util.ArrayList;import java.util.List; > @Named > @ViewAccessScoped > public class TestBean implements Serializable { > List<String> items = new ArrayList<>(); > public TestBean() { > items.add("one"); > items.add("two"); > items.add("three"); > } > public void addItem(){ > items.add("another"); > } > public List<String> getItems() { > return items; > } > } > {code} > The above test situation works fine in richfaces 4.3.1, 4.3.2, 4.3.3 and > 4.3.4, but breaks when upgraded to 4.3.5.Final. > > > There was a different bug fixed in 4.3.5 which seems highly related to this, > but opposite, making me wonder if whatever was done there caused this bug > instead (but it's just a guess): RF-11973 -- This message was sent by Atlassian JIRA (v6.2.3#6260) _______________________________________________ richfaces-issues mailing list richfaces-issues@lists.jboss.org https://lists.jboss.org/mailman/listinfo/richfaces-issues