mirror of
				https://github.com/Nioux/AideDeJeu.git
				synced 2025-10-31 15:36:07 +00:00 
			
		
		
		
	Filtres
This commit is contained in:
		
							parent
							
								
									60d83137be
								
							
						
					
					
						commit
						8a261c7545
					
				
					 5 changed files with 24 additions and 8 deletions
				
			
		|  | @ -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" | ||||
|     ); | ||||
|  |  | |||
|  | @ -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: | ||||
|  |  | |||
|  | @ -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: | ||||
|  |  | |||
|  | @ -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: | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Yan Maniez
						Yan Maniez