From issues at jboss.org Thu May 29 09:09:17 2014 Content-Type: multipart/mixed; boundary="===============6289407337274120282==" MIME-Version: 1.0 From: =?utf-8?q?Juraj_H=C3=BAska_=28JIRA=29_=3Cissues_at_jboss=2Eorg=3E?= To: richfaces-issues at lists.jboss.org Subject: [richfaces-issues] [JBoss JIRA] (RF-13645) contextMenu for extendedDataTable breaks after ajax render of contextMenu Date: Thu, 29 May 2014 09:09:16 -0400 Message-ID: In-Reply-To: JIRA.12541972.1401187344000@jira02.app.mwc.hst.phx2.redhat.com --===============6289407337274120282== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable [ https://issues.jboss.org/browse/RF-13645?page=3Dcom.atlassian.jira.pl= ugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=3D12971630#com= ment-12971630 ] = Juraj H=C3=BAska commented on RF-13645: ---------------------------------- 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, s= ubsequent {{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} attrib= ute 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=C3=BAska > 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 see= ms 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 sit= utation it's held within a tab panel, and if it doesn't get re-rendered the= n it stops working after switching tabs using ajax mode (though it also bre= aks if the contextMenu is held outside of the tab panel, so that isn't a po= tential solution). > = > I created a stripped down example of my specific situation, with two exte= nded 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 b= reak 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} > "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> = > = > = > = > = > = > = > = > = > = > = > = > actionListener=3D"#{testBean.addItem}">= Context Menu 1 Item = > = > = > = > = > = > = > = > = > = > actionListener=3D"#{testBean.addItem}">= Context Menu 2 Item = > = > = > = > = > = > = > {code} > And a simple test bean: > {code} > import org.apache.myfaces.extensions.cdi.core.api.scope.conversation.View= AccessScoped; = > import javax.inject.Named; = > import java.io.Serializable; = > import java.util.ArrayList;import java.util.List; = > @Named = > @ViewAccessScoped = > public class TestBean implements Serializable { = > List items =3D new ArrayList<>(); = > public TestBean() { = > items.add("one"); = > items.add("two"); = > items.add("three"); = > } = > public void addItem(){ = > items.add("another"); = > } = > public List 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 th= is, but opposite, making me wonder if whatever was done there caused this b= ug instead (but it's just a guess): RF-11973 -- This message was sent by Atlassian JIRA (v6.2.3#6260) --===============6289407337274120282==--