You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			104 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			Dart
		
	
			
		
		
	
	
			104 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			Dart
		
	
// import 'package:flutter/material.dart';
 | 
						|
// import 'package:tangheem/classes/colors.dart';
 | 
						|
// import 'package:tangheem/models/country_model.dart';
 | 
						|
// import 'package:tangheem/widgets/common_textfield_widget.dart';
 | 
						|
//
 | 
						|
// class CountrySelectionBottomSheet extends StatefulWidget {
 | 
						|
//   final List<CountryModelData> countryList;
 | 
						|
//   final Function(CountryModelData) onSelectCountry;
 | 
						|
//
 | 
						|
//   CountrySelectionBottomSheet({Key key, this.countryList, this.onSelectCountry}) : super(key: key);
 | 
						|
//
 | 
						|
//   @override
 | 
						|
//   _CountrySelectionBottomSheetState createState() {
 | 
						|
//     return _CountrySelectionBottomSheetState();
 | 
						|
//   }
 | 
						|
// }
 | 
						|
//
 | 
						|
// class _CountrySelectionBottomSheetState extends State<CountrySelectionBottomSheet> {
 | 
						|
//   TextEditingController _searchCountryController = TextEditingController();
 | 
						|
//   List<CountryModelData> _filteredCountryList = [];
 | 
						|
//
 | 
						|
//   @override
 | 
						|
//   void initState() {
 | 
						|
//     super.initState();
 | 
						|
//     _searchCountryController.addListener(_onTextChange);
 | 
						|
//     _filterList("");
 | 
						|
//   }
 | 
						|
//
 | 
						|
//   void _filterList(String _query) {
 | 
						|
//     _filteredCountryList = [];
 | 
						|
//     if (_query.isEmpty) {
 | 
						|
//       _filteredCountryList = widget.countryList;
 | 
						|
//     } else {
 | 
						|
//       _filteredCountryList = widget.countryList.where((element) => element.countryNameAr.contains(_query) || element.countryNameEn.toLowerCase().contains(_query.toLowerCase()))?.toList() ?? [];
 | 
						|
//     }
 | 
						|
//     setState(() {});
 | 
						|
//   }
 | 
						|
//
 | 
						|
//   void _onTextChange() {
 | 
						|
//     var _searchText = _searchCountryController.text;
 | 
						|
//     _filterList(_searchText);
 | 
						|
//   }
 | 
						|
//
 | 
						|
//   @override
 | 
						|
//   void dispose() {
 | 
						|
//     super.dispose();
 | 
						|
//   }
 | 
						|
//
 | 
						|
//   @override
 | 
						|
//   Widget build(BuildContext context) {
 | 
						|
//     return Directionality(
 | 
						|
//       textDirection: TextDirection.rtl,
 | 
						|
//       child: Container(
 | 
						|
//         height: MediaQuery.of(context).size.height * 0.75,
 | 
						|
//         padding: EdgeInsets.all(16),
 | 
						|
//         decoration: BoxDecoration(
 | 
						|
//           color: Colors.white,
 | 
						|
//           borderRadius: BorderRadius.only(
 | 
						|
//             topLeft: Radius.circular(16),
 | 
						|
//             topRight: Radius.circular(16),
 | 
						|
//           ),
 | 
						|
//         ),
 | 
						|
//         child: Column(
 | 
						|
//           children: [
 | 
						|
//             Container(
 | 
						|
//               padding: EdgeInsets.all(8),
 | 
						|
//               height: 54,
 | 
						|
//               decoration: BoxDecoration(
 | 
						|
//                 color: ColorConsts.primaryBlue,
 | 
						|
//                 borderRadius: BorderRadius.only(
 | 
						|
//                   topLeft: Radius.circular(12),
 | 
						|
//                   topRight: Radius.circular(12),
 | 
						|
//                   bottomRight: Radius.circular(12),
 | 
						|
//                   bottomLeft: Radius.circular(12),
 | 
						|
//                 ),
 | 
						|
//               ),
 | 
						|
//               child: CommonTextFieldWidget(hint: "البحث في البلد", controller: _searchCountryController),
 | 
						|
//             ),
 | 
						|
//             Expanded(
 | 
						|
//               child: ListView.separated(
 | 
						|
//                 padding: EdgeInsets.only(left: 8, right: 8),
 | 
						|
//                 itemCount: _filteredCountryList.length,
 | 
						|
//                 physics: BouncingScrollPhysics(),
 | 
						|
//                 separatorBuilder: (context, index) => Divider(
 | 
						|
//                   height: 1,
 | 
						|
//                   color: Colors.black87.withOpacity(0.3),
 | 
						|
//                 ),
 | 
						|
//                 itemBuilder: (context, index) => ListTile(
 | 
						|
//                   title: Text(_filteredCountryList[index].countryNameAr + " (" + _filteredCountryList[index].countryCode + ")"),
 | 
						|
//                   dense: true,
 | 
						|
//                   onTap: () {
 | 
						|
//                     Navigator.pop(context);
 | 
						|
//                     widget.onSelectCountry(_filteredCountryList[index]);
 | 
						|
//                   },
 | 
						|
//                 ),
 | 
						|
//               ),
 | 
						|
//             )
 | 
						|
//           ],
 | 
						|
//         ),
 | 
						|
//       ),
 | 
						|
//     );
 | 
						|
//   }
 | 
						|
// }
 |