yui datatable error in IE

UI Components for JSF
Post Reply
tofa
Posts: 46
Joined: 18 Feb 2010, 12:12

03 Jun 2010, 11:59

Hi
I have tabView with multiple tabs, where not all are rendered.
In the tab I have a dataTable with some data and at last I have a commandButton, that displays a dialog, runs a actionListener, set activeTab and and refresh the dataTable.
Al this works fine in Firefox but in IE I get and error:

Code: Select all

Webpage error details
User Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.2; MS-RTC LM 8; AskTB5.6)
Timestamp: Thu, 3 Jun 2010 09:57:58 UTC

Message: Object required
Line: 14
Char: 965
Code: 0
URI: https://admin.test.evalg.no/admin/primefaces_resource/2.0.1/yui/datatable/datatable-min.js

Message: Object required
Line: 14
Char: 1914
Code: 0
URI: https://admin.test.evalg.no/admin/primefaces_resource/2.0.1/yui/datatable/datatable-min.js
So I changed the source in yui datatable-min.js to datatable-debug.js

Now I get this error:

Code: Select all

Webpage error details
User Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.2; MS-RTC LM 8; AskTB5.6)
Timestamp: Thu, 3 Jun 2010 09:37:05 UTC

Message: Object required
Line: 5949
Char: 9
Code: 0
URI: http://localhost/admin/primefaces_resource/2.0.1/yui/datatable/datatable-min.js

Message: Object required
Line: 6008
Char: 5
Code: 0
URI: http://localhost/admin/primefaces_resource/2.0.1/yui/datatable/datatable-min.js
Line 5949 and 6008 is:

Code: Select all

var elTag = elTarget.nodeName.toLowerCase();

Code: Select all

_onTableMouseover : function(e, oSelf) {
    var elTarget = Ev.getTarget(e);
        var elTag = elTarget.nodeName.toLowerCase();
        var bKeepBubbling = true;

Code: Select all

_onTableMouseout : function(e, oSelf) {
    var elTarget = Ev.getTarget(e);
    var elTag = elTarget.nodeName.toLowerCase();
    var bKeepBubbling = true;
Why is _onTableMouseover and _onTableMouseout even called?
Someone have a clue what i wrong

My xhtml:

Code: Select all

<p:tabView widgetVar="mytabview" activeIndex="#{countingController.activeIndex}">
	<p:tab title="Endelig telling" id="tabE">
		<h:form id="affiliationCountsE">
			<p:dataTable id="countTable" var="count" value="#{countingController.affiliationCountsE[countingController.activeCount]}" rowIndexVar="i" rendered="#{!countingController.renderCompare}">
				...
			</p:dataTable>

			<p:commandButton actionListener="#{countingController.approveE}" value="Godkjenn telling"
				oncomplete="mytabview.set('activeIndex', #{countingController.finalTab});" update="affiliationCountsE"
				disabled="#{!countingController.approveFinally[countingController.activeCount]}" rendered="#{!countingController.renderCompare}">
				<p:confirmDialog yesLabel="Ja" noLabel="Nei" message="Sikker på at du vil godkjenne telling #{countingController.activeCount + 1}?"
						header="Godkjenne telling" severity="warn" fixedCenter="true" />
			</p:commandButton>
		</h:form>
	</p:tab>
</p:tabView>

Code: Select all

public void approveE(final ActionEvent actionEvent) {
}

cagatay.civici
Prime
Posts: 18616
Joined: 05 Jan 2009, 00:21
Location: Cybertron
Contact:

03 Jun 2010, 12:04

If you update to 2.0.2, that should fix the problem.

tofa
Posts: 46
Joined: 18 Feb 2010, 12:12

03 Jun 2010, 12:35

Ok, greit!
Which files have been changed? and what are the changes?
Because I will need to merge in the changes.
I can't upgrade primefaces for this intermediate release, because then the testes would have to start all over again.

cagatay.civici
Prime
Posts: 18616
Joined: 05 Jan 2009, 00:21
Location: Cybertron
Contact:

03 Jun 2010, 23:57

The issue is fixed with the following svn commit, you can see the diff as well;

http://code.google.com/p/primefaces/sou ... 815&r=2700

tofa
Posts: 46
Joined: 18 Feb 2010, 12:12

14 Jun 2010, 15:21

I have now updated to 2.0.2, but I still get the same error in IE.
Everything continues to work after the error, only the annoying yellow ! in downleft corner shows in IE.
No JS errors in firefox.
It only happens if I move the mouse over the datatable meanwhile the actionListener (commandButton) code is running (take time, updates db).
I found that resources/primefaces/datatable/datatable.js has this following code:

Code: Select all

 if(cfg.selectionMode) {
                this.subscribe("rowMouseoverEvent", this.onEventHighlightRow);
        this.subscribe("rowMouseoutEvent", this.onEventUnhighlightRow);
        this.subscribe("rowClickEvent", this.handleRowClickEvent);
        }
And it seems that the the generated code that calls it is correct. So no event should be subscribed

Code: Select all

var table_columnDef = [{key:'rowIndex', hidden:true},{key:'affiliationCountsE:countTable:j_idt176',label:''},{key:'affiliationCountsE:countTable:j_idt178',label:''},{key:'affiliationCountsE:countTable:j_idt180',label:'Rettet'},{key:'affiliationCountsE:countTable:j_idt184',label:'(foreløpig)'},{key:'affiliationCountsE:countTable:j_idt187',label:'Urettet'},{key:'affiliationCountsE:countTable:j_idt190',label:'(foreløpig)'},{key:'affiliationCountsE:countTable:j_idt193',label:'Total'},{key:'affiliationCountsE:countTable:j_idt196',label:'(foreløpig)'}];
2var table_datasource = new YAHOO.util.DataSource(YAHOO.util.Dom.get('affiliationCountsE:countTable_table'));
3table_datasource.responseType = YAHOO.util.DataSource.TYPE_HTMLTABLE;
4table_datasource.responseSchema = {fields:[{key:'rowIndex'},{key:'affiliationCountsE:countTable:j_idt176'},{key:'affiliationCountsE:countTable:j_idt178'},{key:'affiliationCountsE:countTable:j_idt180'},{key:'affiliationCountsE:countTable:j_idt184'},{key:'affiliationCountsE:countTable:j_idt187'},{key:'affiliationCountsE:countTable:j_idt190'},{key:'affiliationCountsE:countTable:j_idt193'},{key:'affiliationCountsE:countTable:j_idt196'}]};
5table = new PrimeFaces.widget.DataTable('affiliationCountsE:countTable',table_columnDef,table_datasource, {dynamicData:false});
But still the errors are in the eventListners for MouseoverEvent and MouseoutEvent

I tried to disable them:

Code: Select all

	jQuery(document).ready(function() {
				alert(table.unsubscribe("rowMouseoverEvent", table.onEventUnhighlightRow));
				alert(table.unsubscribe("rowMouseoutEvent", table.handleRowClickEvent));
			})
But it returns false, false

Code: Select all

Webpage error details
User Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.2; MS-RTC LM 8; AskTB5.6)
Timestamp: Mon, 14 Jun 2010 12:50:31 UTC

Message: Object required
Line: 5949
Char: 9
Code: 0
URI: http://localhost/admin/primefaces_resource/2.0.2/yui/datatable/datatable-min.js

Message: Object required
Line: 6008
Char: 5
Code: 0
URI: http://localhost/admin/primefaces_resource/2.0.2/yui/datatable/datatable-min.js
Any ideas?
Why is the eventListner code run?
And why only problems in IE during the actionListener code is running?

tofa
Posts: 46
Joined: 18 Feb 2010, 12:12

14 Jun 2010, 16:24


Post Reply

Return to “PrimeFaces”

  • Information
  • Who is online

    Users browsing this forum: No registered users and 30 guests