TODO : set temporary rider in AppModelLocator when RiderList item is clicked

This commit is contained in:
2025-12-10 21:57:25 +01:00
parent d0ab28556b
commit da6a89c848
5 changed files with 37 additions and 19 deletions
+19 -5
View File
@@ -1,5 +1,9 @@
package view;
import control.RiderSelecEvent;
import feathers.events.ListViewEvent;
import feathers.events.TriggerEvent;
import feathers.skins.RectangleSkin;
import com.adobe.cairngorm.control.CairngormEventDispatcher;
import control.AppController;
import com.adobe.cairngorm.control.CairngormEvent;
@@ -26,7 +30,8 @@ class RidersList extends ListView {
public function new() {
super();
addEventListener(FeathersEvent.CREATION_COMPLETE, onCreationComplete);
addEventListener(Event.CHANGE, onRiderSelect);
//addEventListener(Event.CHANGE, onRiderSelect);
addEventListener(ListViewEvent.ITEM_TRIGGER, onRiderSelect);
}
override private function initialize():Void {
@@ -45,7 +50,14 @@ class RidersList extends ListView {
itemRenderer.textFormat = new TextFormat(fnt1.fontName, Std.int(rowHeight * 0.27), Constants.MAIN_COLOR1);
itemRenderer.secondaryTextFormat = new TextFormat(fnt2.fontName, Std.int(rowHeight * 0.2), Constants.MAIN_COLOR2);
var rs1 = new RectangleSkin(SolidColor(Constants.MAIN_COLOR3, 1), SolidColor(1, Constants.LIST_SEPARATOR_COLOR));
var rs2 = new RectangleSkin(SolidColor(Constants.LIST_SEPARATOR_COLOR, 1), SolidColor(1, Constants.LIST_SEPARATOR_COLOR));
itemRenderer.backgroundSkin = rs1;
//itemRenderer.selectedBackgroundSkin = rs2;
itemRenderer.setSkinForState(ToggleButtonState.DOWN(false), rs2);
return itemRenderer;
});
itemRendererRecycler = recycler;
@@ -86,10 +98,12 @@ class RidersList extends ListView {
traceGreen(this + " --> onRideListDpChange() - w: " + width + " h: " + height);
}
function onRiderSelect(e:Event):Void {
var riderVO:RiderVO = cast(selectedItem, RiderVO);
var ce:CairngormEvent = new CairngormEvent(AppController.RIDER_SELECT_EVENT);
CairngormEventDispatcher.getInstance().dispatchEvent(ce); //TODO how to pass the selected user to AppModelLocator ?
function onRiderSelect(e:ListViewEvent):Void {
// broadcast a cairngorm event that contains the selectedItem from the List
var riderVO:RiderVO = cast(e.state.data, RiderVO);
var rse:RiderSelecEvent = new RiderSelecEvent(riderVO);
CairngormEventDispatcher.getInstance().dispatchEvent(rse);
//trace(riderVO.firstName);
//clearSelectedRider();
}