[improve] add LoadingWrapper to GameListFrame

This commit is contained in:
2020-03-11 21:51:55 +03:00
parent 4c4555c036
commit b3a4adce68
2 changed files with 11 additions and 3 deletions

View File

@@ -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 {

View File

@@ -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