RidersList and ToolBar sizing done

TODO : cast ListViewItemState.data into RiderVO
This commit is contained in:
2025-11-25 13:46:20 +01:00
parent fd5eaac4c6
commit 6f62c3ad53
13 changed files with 472 additions and 220 deletions
+42 -6
View File
@@ -1,5 +1,11 @@
package view;
import vo.RiderVO;
import uuid.Uuid;
import feathers.controls.AssetLoader;
import feathers.data.ListViewItemState;
import feathers.controls.dataRenderers.ItemRenderer;
import feathers.utils.DisplayObjectRecycler;
import feathers.layout.AutoSizeMode;
import feathers.controls.ListView;
import feathers.events.FeathersEvent;
@@ -13,14 +19,44 @@ class RidersList extends ListView {
public function new() {
super();
addEventListener(FeathersEvent.CREATION_COMPLETE, onCreationComplete);
//width = 300;
//height = 400;
}
override private function initialize():Void {
super.initialize();
// set common properties for all renderers in the same container here
var recycler = DisplayObjectRecycler.withFunction(() -> {
var itemRenderer = new ItemRenderer();
itemRenderer.icon = new AssetLoader();
return itemRenderer;
});
itemRendererRecycler = recycler;
recycler.update = (itemRenderer:ItemRenderer, state:ListViewItemState) -> {
//traceRed($type(state.data));
//var className = Type.getClassName(Type.getClass(state));
//traceRed("Current class name = " + className);
var rider:RiderVO = cast(state.data, RiderVO);
itemRenderer.text = rider.firstName;
itemRenderer.secondaryText = rider.name;
//var item = state.data;
//itemRenderer.text = item.firstName;
//itemRenderer.secondaryText = item.name;
/*var loader = cast(itemRenderer.icon, AssetLoader);
loader.sourceScale = 0.7;
loader.source = "bitmaps/pp_100.jpg";*/
//TODO change this to real iamge path
//loader.source = "https://lepetittrot.com/path/to/pp_pictures" + state.data.id + ".jpg";
//loader.source = "https://testingbot.com/free-online-tools/random-avatar/50?u=" + Uuid.nanoId();
};
model.addEventListener(AppModelLocator.RIDERS_LIST_DP_CHANGE, onRideListDpChange);
}
@@ -32,9 +68,9 @@ class RidersList extends ListView {
private function onRideListDpChange(e:Event):Void {
dataProvider = model.ridersListDP;
itemToText = function(item:Dynamic):String {
/*itemToText = function(item:Dynamic):String {
return item.firstName;
};
};*/
traceGreen(this + " --> onRideListDpChange() - w: " + width + " h: " + height );
}
}