RidersListRendererAccessory UI

This commit is contained in:
2025-12-05 18:45:31 +01:00
parent 665cb32184
commit d002ac9251
8 changed files with 123 additions and 99 deletions
+17 -18
View File
@@ -1,27 +1,24 @@
package view;
import components.RidersListRendererAccessory;
import components.RoundAvatar;
import components.RidersListRendererDecoration;
import openfl.display.Shape;
import feathers.controls.ListView;
import feathers.controls.dataRenderers.ItemRenderer;
import feathers.data.ListViewItemState;
import feathers.events.FeathersEvent;
import feathers.text.TextFormat;
import feathers.utils.DisplayObjectRecycler;
import model.AppModelLocator;
import model.Constants;
import openfl.Assets;
import openfl.text.Font;
import feathers.text.TextFormat;
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;
import model.AppModelLocator;
import openfl.events.Event;
import openfl.text.Font;
import t9.util.ColorTraces.*;
import vo.RiderVO;
class RidersList extends ListView {
private var model = AppModelLocator.getInstance();
private var rowHeight:Int;
public function new() {
super();
@@ -33,10 +30,12 @@ class RidersList extends ListView {
// set common properties for all renderers in the same container here
var recycler = DisplayObjectRecycler.withFunction(() -> {
final fnt1:Font = Assets.getFont(Constants.MONTSERRAT_MEDIUM_500);
final fnt2:Font = Assets.getFont(Constants.MONTSERRAT_BOLD_700);
var rowHeight:Int = Std.int(height / Constants.RIDERS_LIST_ROWS_COUNT);
rowHeight = Std.int(height / Constants.RIDERS_LIST_ROWS_COUNT);
var itemRenderer = new ItemRenderer();
itemRenderer.height = rowHeight;
itemRenderer.icon = new RoundAvatar(Std.int(rowHeight * 0.9));
@@ -44,6 +43,7 @@ class RidersList extends ListView {
itemRenderer.secondaryTextFormat = new TextFormat(fnt2.fontName, Std.int(rowHeight * 0.2), Constants.MAIN_COLOR2);
return itemRenderer;
});
itemRendererRecycler = recycler;
@@ -53,14 +53,13 @@ class RidersList extends ListView {
itemRenderer.text = rider.firstName;
itemRenderer.secondaryText = rider.name;
var ra:RoundAvatar = cast(itemRenderer.icon, RoundAvatar);
var rlra:RidersListRendererAccessory = new RidersListRendererAccessory(Std.int(rowHeight * 0.8), rider.credit);
itemRenderer.accessoryView = rlra;
// 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();
var rlrd:RidersListRendererDecoration = new RidersListRendererDecoration();
itemRenderer.accessoryView = rlrd;
};
recycler.reset = (itemRenderer:ItemRenderer, state:ListViewItemState) -> {