From 7818269b93dacebd76207404389cc1620cbf7a45 Mon Sep 17 00:00:00 2001 From: Sikander Saleem Date: Mon, 9 Dec 2024 11:53:12 +0300 Subject: [PATCH] improvements. --- ios/Podfile.lock | 2 +- .../single_item_drop_down_menu.dart | 105 +++++++----------- 2 files changed, 39 insertions(+), 68 deletions(-) diff --git a/ios/Podfile.lock b/ios/Podfile.lock index f0721433..7ba8ecaa 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -293,4 +293,4 @@ SPEC CHECKSUMS: PODFILE CHECKSUM: 0e9d20dce82ccc5d44ed3f83729982dc68625efb -COCOAPODS: 1.11.3 +COCOAPODS: 1.12.0 diff --git a/lib/new_views/common_widgets/single_item_drop_down_menu.dart b/lib/new_views/common_widgets/single_item_drop_down_menu.dart index 4043a76b..803ac941 100644 --- a/lib/new_views/common_widgets/single_item_drop_down_menu.dart +++ b/lib/new_views/common_widgets/single_item_drop_down_menu.dart @@ -10,8 +10,7 @@ import 'package:test_sa/views/widgets/bottom_sheets/selection_bottom_sheet.dart' import '../../models/base.dart'; import '../app_style/app_color.dart'; -class SingleItemDropDownMenu - extends StatefulWidget { +class SingleItemDropDownMenu extends StatefulWidget { final BuildContext context; final Function(T) onSelect; final T initialValue; @@ -38,12 +37,10 @@ class SingleItemDropDownMenu }) : super(key: key); @override - State> createState() => - _SingleItemDropDownMenuState(); + State> createState() => _SingleItemDropDownMenuState(); } -class _SingleItemDropDownMenuState extends State> { +class _SingleItemDropDownMenuState extends State> { T _selectedItem; X provider; @@ -53,15 +50,11 @@ class _SingleItemDropDownMenuState(widget.context); } if (widget.initialValue != null) { - final result = - (X == NullableLoadingProvider ? widget.staticData : provider.items) - ?.where((element) { + final result = (X == NullableLoadingProvider ? widget.staticData : provider.items)?.where((element) { return element.identifier == widget.initialValue.identifier; }); if (result?.isNotEmpty ?? false) _selectedItem = result.first; - if (widget.onSelect != null && - (widget.initialValue?.identifier ?? "") != - (_selectedItem?.identifier ?? "")) { + if (widget.onSelect != null && (widget.initialValue?.identifier ?? "") != (_selectedItem?.identifier ?? "")) { widget.onSelect(_selectedItem); } } @@ -76,9 +69,7 @@ class _SingleItemDropDownMenuState oldWidget) { if (widget.initialValue != null) { - final result = - (X == NullableLoadingProvider ? widget.staticData : provider.items) - ?.where((element) { + final result = (X == NullableLoadingProvider ? widget.staticData : provider.items)?.where((element) { return element.identifier == widget.initialValue.identifier; }); if (result?.isNotEmpty ?? false) { @@ -86,9 +77,7 @@ class _SingleItemDropDownMenuState( value: _selectedItem, @@ -153,9 +131,7 @@ class _SingleItemDropDownMenuState>((value) { + items: ((X == NullableLoadingProvider) ? widget.staticData : provider.items)?.map>((value) { return DropdownMenuItem( value: value, child: Text( @@ -181,31 +154,29 @@ class _SingleItemDropDownMenuState SelectionBottomSheet( - items: ((X == NullableLoadingProvider) - ? widget.staticData - : provider.items), - selectedItem: _selectedItem, - title: widget.title, - builderString: (emp) => emp?.name ?? "", - ), - )) as T; - if(_selectedT !=null) { - widget.onSelect(_selectedT); - } - - } : null), + ).onPress(widget.showAsBottomSheet + ? () async { + T _selectedT = (await showModalBottomSheet( + context: context, + isScrollControlled: true, + shape: const RoundedRectangleBorder( + borderRadius: BorderRadius.vertical( + top: Radius.circular(20), + ), + ), + clipBehavior: Clip.antiAliasWithSaveLayer, + builder: (BuildContext context) => SelectionBottomSheet( + items: ((X == NullableLoadingProvider) ? widget.staticData : provider.items), + selectedItem: _selectedItem, + title: widget.title, + builderString: (emp) => emp?.name ?? "", + ), + )) as T; + if (_selectedT != null) { + widget.onSelect(_selectedT); + } + } + : null), ], ), ],