Added : RidesrScreen, ToolBar

Riders list is now populated with JSON
TODO : resize list and tolbar
This commit is contained in:
2025-11-23 22:11:53 +01:00
parent 858568a235
commit e8789829ae
5 changed files with 145 additions and 0 deletions
+1
View File
@@ -42,6 +42,7 @@ class LPTCManager2026 extends Application {
model.addEventListener(AppModelLocator.DRAWER_STATE_CHANGE, onDrawerStateChange);
//traceBlue(this + " --> initialize()");
}
+17
View File
@@ -1,5 +1,9 @@
package view;
import feathers.controls.navigators.StackItem;
import feathers.controls.navigators.StackNavigator;
import feathers.controls.Button;
import openfl.display.Bitmap;
import feathers.skins.RectangleSkin;
import feathers.events.FeathersEvent;
import model.Constants;
@@ -10,6 +14,7 @@ class MainPanel extends Panel {
private var mh:MainHeader;
private var mf:MainFooter;
private var sn:StackNavigator;
public function new() {
super();
@@ -28,6 +33,18 @@ class MainPanel extends Panel {
mf = new MainFooter();
footer = mf;
sn = new StackNavigator();
sn.width = 400;
sn.height = 300;
sn.addItem(StackItem.withClass("ridersScreen", RidersScreen));
sn.rootItemID = "ridersScreen";
addChild(sn);
/*var rl:RidersList = new RidersList();
rl.width = 300;
rl.height = 400;
addChild(rl);*/
}
private function onCreationComplete(event:FeathersEvent):Void {
+38
View File
@@ -0,0 +1,38 @@
package view;
import feathers.controls.ListView;
import feathers.events.FeathersEvent;
import model.AppModelLocator;
import openfl.events.Event;
import t9.util.ColorTraces.*;
class RidersList extends ListView {
private var model = AppModelLocator.getInstance();
public function new() {
super();
addEventListener(FeathersEvent.CREATION_COMPLETE, onCreationComplete);
width = 300;
height = 400;
}
override private function initialize():Void {
super.initialize();
model.addEventListener(AppModelLocator.RIDERS_LIST_DP_CHANGE, onRideListDpChange);
}
private function onCreationComplete(event:FeathersEvent):Void {
traceBlue(this + " --> onCreationComplete()");
}
private function onRideListDpChange(e:Event):Void {
traceGreen(this + " : onRideListDpChange");
dataProvider = model.ridersListDP;
itemToText = function(item:Dynamic):String {
return item.firstName;
};
}
}
+29
View File
@@ -0,0 +1,29 @@
package view;
import feathers.layout.VerticalLayout;
import feathers.controls.ScrollContainer;
class RidersScreen extends ScrollContainer {
private var tb:ToolBar;
private var rl:RidersList;
public function new() {
super();
}
override private function initialize():Void {
super.initialize();
var vl:VerticalLayout = new VerticalLayout();
vl.verticalAlign = TOP;
layout = vl;
tb = new ToolBar();
addChild(tb);
rl = new RidersList();
addChild(rl);
}
}
+60
View File
@@ -0,0 +1,60 @@
package view;
import feathers.controls.Label;
import feathers.controls.LayoutGroup;
import feathers.events.FeathersEvent;
import feathers.layout.HorizontalLayout;
import feathers.skins.RectangleSkin;
import feathers.text.TextFormat;
import model.Constants;
import openfl.Assets;
import openfl.text.Font;
import t9.util.ColorTraces.*;
class ToolBar extends LayoutGroup {
private var lbl1:Label;
public function new() {
super();
addEventListener(FeathersEvent.CREATION_COMPLETE, onCreationComplete);
}
override private function initialize():Void {
super.initialize();
final sw:Int = stage.stageWidth;
final sh:Int = stage.stageHeight;
final headerWidth = Std.int(sw * Constants.MAIN_HEADER_WIDTH_RATIO);
final headerHeight = Std.int(sh * Constants.MAIN_HEADER_HEIGHT_RATIO);
autoSizeMode = CONTENT;
backgroundSkin = new RectangleSkin(SolidColor(Constants.ACCENT_COLOR1, 1));
variant = LayoutGroup.VARIANT_TOOL_BAR;
// Layout settings
var l:HorizontalLayout = new HorizontalLayout();
l.paddingLeft = l.paddingRight = Std.int(headerHeight * .3);
l.paddingTop = l.paddingBottom = Std.int(headerHeight * .2);
l.verticalAlign = MIDDLE;
layout = l;
// Title label
lbl1 = new Label();
//lb1.backgroundSkin = new RectangleSkin(SolidColor(Constants.ACCENT_COLOR2, 1));
//lb1.verticalAlign = VerticalAlign.TOP;
lbl1.text = "Toolbar";
lbl1.embedFonts = true;
var fnt:Font = Assets.getFont(Constants.MONTSERRAT_MEDIUM_500);
lbl1.textFormat = new TextFormat(fnt.fontName, Std.int(headerHeight * .4), Constants.MAIN_COLOR3);
addChild(lbl1);
}
private function onCreationComplete(event:FeathersEvent):Void {
traceBlue(this + " --> onCreationComplete()");
}
}