mirror of
				https://github.com/Nioux/AideDeJeu.git
				synced 2025-10-31 07:26:09 +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; |   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 ?? "")); |   print("getChildrenItems " + (item?.ItemType ?? "")); | ||||||
|   if (item.ItemType.endsWith("Items")) { |   if (item.ItemType.endsWith("Items")) { | ||||||
|     String itemType = |     String itemType = | ||||||
|  | @ -61,10 +61,19 @@ Future<Item> loadChildrenItems(Item item) async { | ||||||
|     if (item is FilteredItems) { |     if (item is FilteredItems) { | ||||||
|       family = (item as FilteredItems)?.Family ?? ""; |       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; |     final db = await database; | ||||||
|     var response = await db.query( |     var response = await db.query( | ||||||
|         "Items", |         "Items", | ||||||
|         where: "ItemType = ? AND Family = ?", |         where: "ItemType = ? AND Family = ?" + whereFilter, | ||||||
|         whereArgs: [itemType, family], |         whereArgs: [itemType, family], | ||||||
|         orderBy: "NormalizedName" |         orderBy: "NormalizedName" | ||||||
|     ); |     ); | ||||||
|  |  | ||||||
|  | @ -1,5 +1,5 @@ | ||||||
| import 'package:aidedejeu_flutter/database.dart'; | 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:aidedejeu_flutter/models/items.dart'; | ||||||
| import 'package:flutter/material.dart'; | import 'package:flutter/material.dart'; | ||||||
| import 'package:flutter/services.dart'; | import 'package:flutter/services.dart'; | ||||||
|  | @ -61,7 +61,7 @@ class _MyHomePageState extends State<MyHomePage> { | ||||||
| 
 | 
 | ||||||
|   Future<Item> _loadItem() async { |   Future<Item> _loadItem() async { | ||||||
|     var item = await getItemWithId(this.widget.id); |     var item = await getItemWithId(this.widget.id); | ||||||
|     var items = await loadChildrenItems(item); |     var items = await loadChildrenItems(item, filters); | ||||||
|     //setItem(item); |     //setItem(item); | ||||||
|     return item; |     return item; | ||||||
|   } |   } | ||||||
|  | @ -156,6 +156,12 @@ class _MyHomePageState extends State<MyHomePage> { | ||||||
|         setState(() { |         setState(() { | ||||||
|           filter.selectedValues = choices; |           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 |   @override | ||||||
|   Widget build(BuildContext context) { |   Widget build(BuildContext context) { | ||||||
|  |     print("build"); | ||||||
|     Widget currentPage; |     Widget currentPage; | ||||||
|     switch (indexPage) { |     switch (indexPage) { | ||||||
|       case 0: |       case 0: | ||||||
|  |  | ||||||
|  | @ -89,14 +89,14 @@ packages: | ||||||
|       name: flutter_markdown |       name: flutter_markdown | ||||||
|       url: "https://pub.dartlang.org" |       url: "https://pub.dartlang.org" | ||||||
|     source: hosted |     source: hosted | ||||||
|     version: "0.3.3" |     version: "0.3.4" | ||||||
|   flutter_svg: |   flutter_svg: | ||||||
|     dependency: "direct main" |     dependency: "direct main" | ||||||
|     description: |     description: | ||||||
|       name: flutter_svg |       name: flutter_svg | ||||||
|       url: "https://pub.dartlang.org" |       url: "https://pub.dartlang.org" | ||||||
|     source: hosted |     source: hosted | ||||||
|     version: "0.17.1" |     version: "0.17.2" | ||||||
|   flutter_test: |   flutter_test: | ||||||
|     dependency: "direct dev" |     dependency: "direct dev" | ||||||
|     description: flutter |     description: flutter | ||||||
|  | @ -211,7 +211,7 @@ packages: | ||||||
|       name: sqflite |       name: sqflite | ||||||
|       url: "https://pub.dartlang.org" |       url: "https://pub.dartlang.org" | ||||||
|     source: hosted |     source: hosted | ||||||
|     version: "1.2.0" |     version: "1.2.1" | ||||||
|   stack_trace: |   stack_trace: | ||||||
|     dependency: transitive |     dependency: transitive | ||||||
|     description: |     description: | ||||||
|  |  | ||||||
|  | @ -14,7 +14,7 @@ description: Haches & Dés version flutter | ||||||
| version: 1.0.0+1 | version: 1.0.0+1 | ||||||
| 
 | 
 | ||||||
| environment: | environment: | ||||||
|   sdk: ">=2.1.0 <3.0.0" |   sdk: ">=2.2.0 <3.0.0" | ||||||
| 
 | 
 | ||||||
| dependencies: | dependencies: | ||||||
|   flutter: |   flutter: | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Yan Maniez
						Yan Maniez