[richfaces-issues] [JBoss JIRA] (RF-12026) Javascript error in AjaxRequests on FireFox "invalid 'in' operand event"

Ulf Almehed (JIRA) jira-events at lists.jboss.org
Fri Mar 23 04:02:54 EDT 2012


    [ https://issues.jboss.org/browse/RF-12026?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12678870#comment-12678870 ] 

Ulf Almehed commented on RF-12026:
----------------------------------

Brian:
Yes, here is a small sample that will reproduce the error: It displays an ExtendedDataTable with the clientRows property set. If you drag the vertical scroller to the bottom, the table wount render anything due to the js-error.
Browser: FireFox 3.6.28

A fix would be to replace the guard "if (event) {" with "if (event && event instanceof Object) {" (line 129 in richfaces-queue.js).

edt.xhtml:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" 
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:rich="http://richfaces.org/rich"
	xmlns:a4j="http://richfaces.org/a4j"
>
<h:head>
	<title>JSF Demo</title>
</h:head>
<h:body>
<h:form id="hwForm">
	<rich:extendedDataTable value="#{edtBean.edtData}"
	    var="rowdata" id="table" clientRows="20"
	    style="height:300px; width:500px;" selectionMode="multiple">
	    <rich:column>
	        <f:facet name="header">
	            <h:outputText value="col 1" />
	        </f:facet>
	        <h:outputText value="#{rowdata[0]}" />
	    </rich:column>
	    <rich:column>
	        <f:facet name="header">
	            <h:outputText value="col 2" />
	        </f:facet>
	        <h:outputText value="#{rowdata[1]}" />
	    </rich:column>
	    <rich:column>
	        <f:facet name="header">
	            <h:outputText value="col 3" />
	        </f:facet>
	        <h:outputText value="#{rowdata[2]}" />
	    </rich:column>
	</rich:extendedDataTable>
</h:form>	
</h:body>
</html>

EdtBean.java:
package org.bogus;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import java.util.Locale;
import javax.enterprise.context.SessionScoped;
import javax.inject.Named;

//@RequestScoped
@SessionScoped
@Named
public class EdtBean implements Serializable {
	private static final long serialVersionUID = 1L;
	private List<String[]> mEdtData = new ArrayList<String[]>();

	public EdtBean() {
		mEdtData.add(new String[]{"Apa", "Boa", "Cikada"});
		mEdtData.add(new String[]{"Doris", "Emma", "Frida"});
		mEdtData.add(new String[]{"Glosa", "Hemkunskap", "IG"});
		mEdtData.add(new String[]{"Jul", "Kristihimmelfärdsdag", "Långfredag"});
		mEdtData.add(new String[]{"Mousaka", "Nudlar", "Omelett"});
		mEdtData.add(new String[]{"Paris", "Quibet", "Rotebro"});
		mEdtData.add(new String[]{"Skotland", "Tanzania", "Uruguay"});
		mEdtData.add(new String[]{"Vask", "Whiteboard", "X-krok"});
		mEdtData.add(new String[]{"Youngblood", "ZZ-Top", "Ådalen31"});
		mEdtData.add(new String[]{"Apa", "Boa", "Cikada"});
		mEdtData.add(new String[]{"Doris", "Emma", "Frida"});
		mEdtData.add(new String[]{"Glosa", "Hemkunskap", "IG"});
		mEdtData.add(new String[]{"Jul", "Kristihimmelfärdsdag", "Långfredag"});
		mEdtData.add(new String[]{"Mousaka", "Nudlar", "Omelett"});
		mEdtData.add(new String[]{"Paris", "Quibet", "Rotebro"});
		mEdtData.add(new String[]{"Skotland", "Tanzania", "Uruguay"});
		mEdtData.add(new String[]{"Vask", "Whiteboard", "X-krok"});
		mEdtData.add(new String[]{"Youngblood", "ZZ-Top", "Ådalen31"});
		mEdtData.add(new String[]{"Apa", "Boa", "Cikada"});
		mEdtData.add(new String[]{"Doris", "Emma", "Frida"});
		mEdtData.add(new String[]{"Glosa", "Hemkunskap", "IG"});
		mEdtData.add(new String[]{"Jul", "Kristihimmelfärdsdag", "Långfredag"});
		mEdtData.add(new String[]{"Mousaka", "Nudlar", "Omelett"});
		mEdtData.add(new String[]{"Paris", "Quibet", "Rotebro"});
		mEdtData.add(new String[]{"Skotland", "Tanzania", "Uruguay"});
		mEdtData.add(new String[]{"Vask", "Whiteboard", "X-krok"});
		mEdtData.add(new String[]{"Youngblood", "ZZ-Top", "Ådalen31"});
		mEdtData.add(new String[]{"Apa", "Boa", "Cikada"});
		mEdtData.add(new String[]{"Doris", "Emma", "Frida"});
		mEdtData.add(new String[]{"Glosa", "Hemkunskap", "IG"});
		mEdtData.add(new String[]{"Jul", "Kristihimmelfärdsdag", "Långfredag"});
		mEdtData.add(new String[]{"Mousaka", "Nudlar", "Omelett"});
		mEdtData.add(new String[]{"Paris", "Quibet", "Rotebro"});
		mEdtData.add(new String[]{"Skotland", "Tanzania", "Uruguay"});
		mEdtData.add(new String[]{"Vask", "Whiteboard", "X-krok"});
		mEdtData.add(new String[]{"Youngblood", "ZZ-Top", "Ådalen31"});
	}

	public void setEdtData(List<String[]> mEdtData) {
		this.mEdtData = mEdtData;
	}

	public List<String[]> getEdtData() {
		return mEdtData;
	}
 
}

                
> Javascript error in AjaxRequests on FireFox "invalid 'in' operand event"
> ------------------------------------------------------------------------
>
>                 Key: RF-12026
>                 URL: https://issues.jboss.org/browse/RF-12026
>             Project: RichFaces
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>          Components: core
>    Affects Versions: 4.2.0.Final
>         Environment: FireFox 3.6.27
>            Reporter: Ulf Almehed
>            Assignee: Pavol Pitonak
>            Priority: Minor
>              Labels: regression
>             Fix For: 4.2.1.CR1
>
>
> Ajax request fails with javascript error "invalid 'in' operand event", richfaces-queue.js line 130.
> This was introduced by the fix in RF-11943. Checking for existence of layerX fails if event isn't an Object (but a simple type).

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

       



More information about the richfaces-issues mailing list