1
0
Fork 0
mirror of https://github.com/Nioux/AideDeJeu.git synced 2025-10-29 06:26:02 +00:00
This commit is contained in:
Yan Maniez 2020-02-27 20:48:42 +01:00
parent 60d83137be
commit 8a261c7545
5 changed files with 24 additions and 8 deletions

View file

@ -52,7 +52,7 @@ Future<Item> getItemWithId(String id) async {
return response.isNotEmpty ? itemFromMap(response.first) : null;
}
Future<Item> loadChildrenItems(Item item) async {
Future<Item> loadChildrenItems(Item item, List<Filter> filters) async {
print("getChildrenItems " + (item?.ItemType ?? ""));
if (item.ItemType.endsWith("Items")) {
String itemType =
@ -61,10 +61,19 @@ Future<Item> loadChildrenItems(Item item) async {
if (item is FilteredItems) {
family = (item as FilteredItems)?.Family ?? "";
}
String whereFilter = "";
if(filters != null) {
filters.forEach((filter) {
if(filter.selectedValues.isNotEmpty) {
whereFilter = " AND (${filter.name} = '" + filter.selectedValues.join("' OR ${filter.name} = '") + "')";
}
});
}
print(whereFilter);
final db = await database;
var response = await db.query(
"Items",
where: "ItemType = ? AND Family = ?",
where: "ItemType = ? AND Family = ?" + whereFilter,
whereArgs: [itemType, family],
orderBy: "NormalizedName"
);

View file

@ -1,5 +1,5 @@
import 'package:aidedejeu_flutter/database.dart';
import 'package:aidedejeu_flutter/widgets/filterWidgets.dart';
import 'package:aidedejeu_flutter/widgets/filters.dart';
import 'package:aidedejeu_flutter/models/items.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
@ -61,7 +61,7 @@ class _MyHomePageState extends State<MyHomePage> {
Future<Item> _loadItem() async {
var item = await getItemWithId(this.widget.id);
var items = await loadChildrenItems(item);
var items = await loadChildrenItems(item, filters);
//setItem(item);
return item;
}
@ -156,6 +156,12 @@ class _MyHomePageState extends State<MyHomePage> {
setState(() {
filter.selectedValues = choices;
});
loadChildrenItems(item, filters).then((value) => {
setState(() {
this.item = item;
this.filters = filters;
})
});
},
);
}
@ -199,6 +205,7 @@ class _MyHomePageState extends State<MyHomePage> {
@override
Widget build(BuildContext context) {
print("build");
Widget currentPage;
switch (indexPage) {
case 0:

View file

@ -89,14 +89,14 @@ packages:
name: flutter_markdown
url: "https://pub.dartlang.org"
source: hosted
version: "0.3.3"
version: "0.3.4"
flutter_svg:
dependency: "direct main"
description:
name: flutter_svg
url: "https://pub.dartlang.org"
source: hosted
version: "0.17.1"
version: "0.17.2"
flutter_test:
dependency: "direct dev"
description: flutter
@ -211,7 +211,7 @@ packages:
name: sqflite
url: "https://pub.dartlang.org"
source: hosted
version: "1.2.0"
version: "1.2.1"
stack_trace:
dependency: transitive
description:

View file

@ -14,7 +14,7 @@ description: Haches & Dés version flutter
version: 1.0.0+1
environment:
sdk: ">=2.1.0 <3.0.0"
sdk: ">=2.2.0 <3.0.0"
dependencies:
flutter: