[improve] add LoadingWrapper to GameListFrame
This commit is contained in:
@@ -17,6 +17,7 @@ import ru.m.puzzlez.view.PuzzleImageView;
|
||||
|
||||
@:view("images") var imagesView:ActionDataView<ImageId, PuzzleImageView, Action>;
|
||||
@:view("pages") var pagesView:DataView<Int, ToggleButtonView>;
|
||||
private var loading:LoadingWrapper;
|
||||
|
||||
@:provide var switcher:FrameSwitcher;
|
||||
@:provide var storage:GameStorage;
|
||||
@@ -26,15 +27,16 @@ import ru.m.puzzlez.view.PuzzleImageView;
|
||||
|
||||
private var data(default, set):DataPage<ImageId>;
|
||||
|
||||
private function set_data(value) {
|
||||
private function set_data(value:DataPage<ImageId>):DataPage<ImageId> {
|
||||
data = value;
|
||||
imagesView.data = data.data;
|
||||
pagesView.data = [for (i in 0...Std.int(data.total / data.page.count) + 1) i];
|
||||
pagesView.data = [for (i in 0...Std.int((data.total - 1) / data.page.count) + 1) i];
|
||||
return data;
|
||||
}
|
||||
|
||||
public function new() {
|
||||
super(ID);
|
||||
loading = new LoadingWrapper(imagesView);
|
||||
page = {index: 0, count: 6, order: [{key: "date", reverse: true}]};
|
||||
}
|
||||
|
||||
@@ -56,7 +58,12 @@ import ru.m.puzzlez.view.PuzzleImageView;
|
||||
}
|
||||
|
||||
private function refresh():Void {
|
||||
storage.getIndexPage(page).then(data -> this.data = data);
|
||||
data = {
|
||||
page: page,
|
||||
total: 0,
|
||||
data: [],
|
||||
};
|
||||
loading.promise = storage.getIndexPage(page).then(data -> this.data = data);
|
||||
}
|
||||
|
||||
private function onAction(imageId:ImageId, action:Action):Void {
|
||||
|
||||
@@ -5,6 +5,7 @@ views:
|
||||
$type: haxework.view.data.ActionDataView
|
||||
layout:
|
||||
$type: haxework.view.layout.TailLayout
|
||||
rowSize: 3
|
||||
margin: 5
|
||||
vAlign: middle
|
||||
geometry.stretch: true
|
||||
|
||||
Reference in New Issue
Block a user