PDA

View Full Version : Picker scroll bug (only when two elements are present)



tarokker
20 Jul 2011, 3:12 AM
Sencha Touch version tested:

1.1.0



only default ext-all.css

Platform tested against:

iOS 4
Chrome, Safari on Mac

Description:

I had I bug when trying to scroll a picker column if only two elements are present.
If I try to scroll on that column, I have this error on the console:

sencha-touch-debug-w-comments.js:34910 (http://getrixapp.maiorana.dev.loc/sencha-touch-debug-w-comments.js?v=2) Uncaught TypeError: Cannot read property 'viewIndex' of undefined

Test Case:


{
xtype: 'datepickerfield',
name: 'tipo',
label: 'Tipo',
picker: { yearFrom: 2010 }
}

The result that was expected:

Regular scrolling. The picker goes back to first or second item if I scroll over the bounds.

The result that occurs instead:

Javascript error. The picker goes on an unexistant row after I scroll over the bounds.

Screenshot or Video:

27061

Debugging already done:

none

Possible fix:

not provided

tarokker
21 Sep 2011, 12:19 AM
I confirm this bug occurs for any picker type, when it has only 2 elements in list

JacobGu
2 May 2012, 4:39 AM
Here's an override to fix:


Ext.override(Ext.Picker.Slot, {

onScrollEnd: function(scroller, offset) {
var selectedNode = this.getNode(Math.round(offset.y / this.barHeight));
if(selectedNode){
this.selectedNode = selectedNode;
this.selectedIndex = this.indexOf(this.selectedNode);
this.fireEvent('slotpick', this, this.getValue(), this.selectedNode);
}
}
});