Now i use this inside my custom class : Dynamic item sizes.
For that case , it dosen’t scroll to absolute bottom , sometimes it stop at
middle of the list.
/* ************************************************************************
Copyright:
License:
Authors:
************************************************************************ */
/**
* This is the main application class of your custom application "phwabe"
*
* @asset(phwabe/*)
*/
qx.Class.define('phwabe.utils.list.InfiniList', {
extend: qx.ui.list.List,
members: {
__deferredCall: null,
__scrollBottom: false,
syncWidget: function(jobs) {
if (jobs.scrollBottom) {
this.scrollToY(1e99)
console.log("bottom")
// return
}
var firstRow = this._layer.getFirstRow();
var rowSize = this._layer.getRowSizes().length;
for (var row = firstRow; row < firstRow + rowSize; row++) {
var widget = this._layer.getRenderedCellWidget(row, 0);
if (widget !== null) {
var height = widget.getSizeHint().height;
this.getPane().getRowConfig().setItemSize(row, height);
}
}
},
_initLayer: function() {
this.base(arguments);
this._layer.addListener("updated", this._onUpdated, this);
},
_onUpdated: function(event) {
if (this.__deferredCall === null) {
this.__deferredCall = new qx.util.DeferredCall(function() {
qx.ui.core.queue.Widget.add(this);
console.log("Updated")
}, this);
}
this.__deferredCall.schedule();
}
}
});
Can i get some advices? doing that _onUpdated also not working well.
On Wed, Jun 10, 2015 at 2:41 PM, Phyo Arkar <[email protected]>
wrote:
> Thanks a lot! it works!
>
> On Wed, Jun 3, 2015 at 11:08 PM, Mustafa Sak <[email protected]> wrote:
>
>> First of all the list model will fire a change, which you should listen
>> to.
>>
>>
>>
>> But the time on changing the model is not the one, when the list widget
>> renders the change. So you have to wait till the queue has been flushed.
>>
>> The easiest way is to use the widget queue which will call a function
>> named syncWidget after the next render flush.
>>
>>
>>
>> So your code could be like this: http://tinyurl.com/pf33qvn
>>
>>
>>
>> *Mustafa Sak*
>>
>> Softwareentwickler
>> Mail Development
>>
>> 1&1 Mail & Media Development & Technology GmbH | Brauerstraße 48 | 76135
>> Karlsruhe | Germany
>> Phone: +49 721 91374-6977
>> E-Mail: [email protected] | Web: www.1und1.de
>>
>>
>>
>> *Von:* Phyo Arkar [mailto:[email protected]]
>> *Gesendet:* Dienstag, 2. Juni 2015 20:58
>> *An:* qooxdoo-devel
>> *Betreff:* [qooxdoo-devel] Change of qooxdoo virtual list's length (new
>> item insert)
>>
>>
>>
>> What event to listen for change of qx.ui.list.List's Length and that new
>> added list item is ready ?
>>
>>
>>
>> I know qx.type.Array() have change event , but if i listen there and
>> scroll to bottom , it never got to the bottom .
>>
>>
>>
>> This what i am trying to do , but want to scroll after that last row is
>> added.
>>
>> this.chat_list.addListener("change", function() {
>>
>> console.log('model_changed')
>>
>> this.chat_list.scrollToY(1e99);
>>
>> },this)
>>
>>
>>
>>
>> ------------------------------------------------------------------------------
>>
>> _______________________________________________
>> qooxdoo-devel mailing list
>> [email protected]
>> https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
>>
>>
>
------------------------------------------------------------------------------
_______________________________________________
qooxdoo-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel